For each user on Wikipedia, I'd like to find which pages were created by those users. How can I find all of the pages that were created by a specific Wikipedia or Mediawiki user?
As of Wikimedia 1.23, this can be done with the
Usercontribs module in the API using the
new option of the
As far as I know, there is no simple way to do this. But I can see some possibilities (starting with those that practically won't work):
Use the API. The API doesn't have any direct way to do this, but you could try to work around that:
Go though all pages and for each of them, find out the creator. Because of the limitations of the API when working with revisions, this would mean 1 request per page, which makes this completely unfeasible for a wiki as big as Wikipedia.
The first query would look something like: http://en.wikipedia.org/w/api.php?action=query&generator=allpages&gaplimit=1&prop=revisions&rvdir=newer&rvprop=user&rvlimit=1
For each user, go through his contributions and find out which of his edits created a new page. Because the API won't let you filter the contributions to show only page creations, you would have to filter that by yourself. This would be probably much faster than the option above, but still way too slow for Wikipedia:
The query for User:Svick would look like: http://en.wikipedia.org/w/api.php?action=query&list=usercontribs&ucuser=Svick&ucprop=title|flags&uclimit=max
Download the stub-meta-history dump (32 GB compressed for the English Wikipedia), which contains information about revisions of all pages in XML. You could go through that to find out the creator of each page (assuming no revisions were deleted).
On the Wikimedia Toolserver, I run a script (originally not written by me) that periodically updates the table
u_svick_enwiki_page_creators_p, which contains information about users that created each page. This table is accessible to other users of the Toolserver, but not to the public.
To sum up: there is no good solution and you have pretty much two choices: download and parse 32 GB of data, or get a Toolserver account and then use the table I mentioned.