使用特殊导出从维基百科下载文章

时间:2011-10-31 18:47:52

标签: python xml wikipedia wikimedia

我希望能够从http://en.wikipedia.org/wiki/Special:Export下载几千篇文章的完整历史记录,我正在寻找一种自动化的程序化方法。我想将结果保存为XML。

这是我的Wikipedia query。我在Python中开始了以下操作,但是没有得到任何有用的结果。

#!/usr/bin/python

import urllib
import codecs

f =  codecs.open('workfile.xml', 'w',"utf-8" )

class AppURLopener(urllib.FancyURLopener):
    version = "Mozilla/5.0 (Windows; U; Windows NT 5.1; it; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11"
urllib._urlopener = AppURLopener()

query = "http://en.wikipedia.org/w/index.php?title=Special:Export&action=submit"
data = { 'catname':'English-language_Indian_films','addcat':'', 'wpDownload':1 }
data = urllib.urlencode(data)
f = urllib.urlopen(query, data)
s = f.read()
print (s)

1 个答案:

答案 0 :(得分:0)

我诚实地建议使用Mechanize来获取页面,然后使用lxml或其他xml解析器来获取所需的信息。通常我使用firefox用户代理,因为许多程序用户代理被阻止。请注意,使用Mechanize,您实际上可以填写表单并“单击”输入,然后“单击”导出。