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

0 投票
1 回答
669 浏览
提问于 2025-04-17 05:21

我想要从这个链接下载几千篇文章的完整历史记录,并且希望能通过编程的方式来自动化这个过程。我想把结果保存为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)

1 个回答

0

我建议你可以用Mechanize这个工具来获取网页,然后再用lxml或者其他的xml解析器来提取你想要的信息。通常我会使用Firefox的用户代理,因为很多程序的用户代理会被封锁。需要注意的是,使用Mechanize的时候,你实际上可以填写表单,然后“点击”回车,再“点击”导出。

撰写回答