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を使用すると、実際にフォームに入力して「クリック」してEnterキーを押し、次に「クリック」してエクスポートすることができます。

于 2012-03-06T06:40:14.980 に答える