X-Git-Url: https://projects.mako.cc/source/harrypotter-wikipedia-cdsw/blobdiff_plain/7a786062b74eb0335b21b1bd2ae860ea349748f8..2e473702cd932f0a9f9c05545134c372089ef30b:/build_hpwp_dataset.py diff --git a/build_hpwp_dataset.py b/build_hpwp_dataset.py index 38c299d..9d381ae 100644 --- a/build_hpwp_dataset.py +++ b/build_hpwp_dataset.py @@ -1,6 +1,7 @@ #!/usr/bin/env python # coding=utf-8 +import encoding_fix import requests # get_article_revisions is a function that takes an article title in @@ -12,7 +13,7 @@ def get_article_revisions(title): # create a base url for the api and then a normal url which is initially # just a copy of it # The following line is what the requests call is doing, basically. - # "http://en.wikipedia.org/w/api.php/?action=query&titles={0}&prop=revisions&rvprop=flags|timestamp|user|size|ids&rvlimit=500&format=json".format(title) + # "http://en.wikipedia.org/w/api.php/?action=query&titles={0}&prop=revisions&rvprop=flags|timestamp|user|size|ids&rvlimit=500&format=json&continue=".format(title) wp_api_url = "http://en.wikipedia.org/w/api.php/" parameters = {'action' : 'query', @@ -39,6 +40,7 @@ def get_article_revisions(title): # for every revision, first we do some cleaning up for rev in query_revisions: + #print(rev) # let's continue/skip this revision if the user is hidden if "userhidden" in rev: continue @@ -84,16 +86,18 @@ category = "Harry Potter" # # The following requests call basically does the same thing as this string: # "http://tools.wmflabs.org/catscan2/catscan2.php?depth=10&categories={0}&doit=1&format=json".format(category) -url_catscan = "http://tools.wmflabs.org/catscan2/catscan2.php" +url_catscan = "http://tools.wmflabs.org/catscan3/catscan2.php" parameters = {'depth' : 10, 'categories' : category, 'format' : 'json', 'doit' : 1} +# r = requests.get("http://tools.wmflabs.org/catscan2/catscan2.php?depth=10&categories=Harry Potter&doit=1&format=json" + r = requests.get(url_catscan, params=parameters) articles_json = r.json() -articles = articles_json["*"][0]["a"]["*"] +articles = articles_json["*"][0]["*"] # open a file to write all the output output = open("hp_wiki.tsv", "w", encoding="utf-8") @@ -104,6 +108,7 @@ for article in articles: # first grab the article's title title = article["a"]["title"] + print(title) # get the list of revisions from our function and then iterate through it, # printing it to our output file