0

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

这是我的维基百科查询。我在 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)
4

1 回答 1

0

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

于 2012-03-06T06:40:14.980 回答