On Fri, Dec 12, 2008 at 04:10:57PM -0500, Beebe, Mary J wrote:
Thank you that is exactly what I am looking for.
The other question was about page limit. I guess I would have to use
"...Cmsort=timestamp&Cmprop=ids|title|timestamp"
Then use cmstart with the last timestamp displayed to get the next 500.
Do you know about the "cheat sheet" you get by accessing api.php with no parameters, e.g. http://en.wikipedia.org/w/api.php ? It's good for telling you all the available parameters with a sentence about what each does.
cmlimit=500 will give you your 500 results instead of the default 10. If there are more than that available, the response will contain a "query-continue" node with a child "categorymembers", and that child will have a property "cmcontinue". Just copy that cmcontinue's value to your request to get the next 500. For example, at this moment http://en.wikipedia.org/w/api.php?action=query&list=categorymembers&... gives a cmcontinue value of "Acoustic droplet ejection|". Urlencoding that and appending it to the original request gives the next 10 results: http://en.wikipedia.org/w/api.php?action=query&list=categorymembers&... To get the third 10, add the cmcontinue from the second response onto the original query. Repeat until you get a response without a query-continue node.
Note that with complicated queries, you may get multiple values for your query-continue; for example if you feed prop=images|templates with generator=categorymembers, you might get imcontinue=X, tlcontinue=Y, and gcmcontinue=Z. In that case, process the non-generator continues before the generator: you'd want to use the old gcmcontinue with the new imcontinue and tlcontinue until you run out of both, and only then use the new gcmcontinue with no imcontinue/tlcontinue. Like this: api.php?... => gcmcontinue=Z1, imcontinue=X1, tlcontinue=Y1 api.php?...&imcontinue=X1&tlcontinue=Y1 => gcmcontinue=Z1, imcontinue=X2, tlcontinue=Y2 api.php?...&imcontinue=X2&tlcontinue=Y2 => gcmcontinue=Z1, imcontinue=X3 api.php?...&imcontinue=X3&tlcontinue=Y2 => gcmcontinue=Z1 api.php?...&gcmcontinue=Z1 => gcmcontinue=Z2, imcontinue=X5, tlcontinue=Y5 api.php?...&gcmcontinue=Z1&imcontinue=X5&tlcontinue=Y5 => gcmcontinue=Z2, tlcontinue=Y6 api.php?...&gcmcontinue=Z1&imcontinue=X5&tlcontinue=Y6 => gcmcontinue=Z2 api.php?...&gcmcontinue=Z2 => gcmcontinue=Z3, imcontinue=X8, tlcontinue=Y8 api.php?...&gcmcontinue=Z2&imcontinue=X8&tlcontinue=Y8 (and so on)