我希望能够从http://en.wikipedia.org/wiki/Special:Export下载几千篇文章的完整历史记录,我正在寻找一种自动化的程序化方法。 我在python中启动了以下内容,但是没有得到任何有用的结果
query = "http://en.wikipedia.org/w/index.api?title=Special:Export&pages=%s&history=1&action=submit" % 'Page_title_here'
f = urllib.urlopen(query)
s = f.read()
有什么建议吗?
答案 0 :(得分:1)
删除要在pages
数组中下载的页面列表,这应该可行。运行脚本,它将打印XML文件。请注意,维基百科似乎阻止urllib
用户代理,但我在页面上看不到任何暗示禁止自动下载的内容。使用风险自负。
您还可以将'curonly':1
添加到字典中以仅获取当前版本。
#!/usr/bin/python
import urllib
class AppURLopener(urllib.FancyURLopener):
version = "WikiDownloader"
urllib._urlopener = AppURLopener()
query = "http://en.wikipedia.org/w/index.php?title=Special:Export&action=submit"
pages = ['Canada']
data = { 'catname':'', 'wpDownload':1, 'pages':"\n".join(pages)}
data = urllib.urlencode(data)
f = urllib.urlopen(query, data)
s = f.read()
print(s)