Wikipediaからデータを収集する方法
ブラウザ上から以下の URL にアクセスすると、Wikipedia から[キーワード]に関する記事の XMLデータを取得することができます。
http://ja.wikipedia.org/wiki/特別:データ書き出し/[キーワード]
この URL は、ブラウザからのアクセスは可能ですが、プログラムからのアクセスは拒否されます。おそらくサーバに負荷のかかる処理の実行を防止するためだろうと思います。
私の場合、Wikipedia のデータを収集するにあたり、
- 継続的にデータを収集するのが目的ではなく、一度収集してしまえば終了。
- サーバに負担をかけるほどのダウンロード量ではない。(明確な指標はありませんが、だいたい…)
ということが分かっていたため、サーバに迷惑をおかけすることもないだろうと判断し、アクセスする時にブラウザ情報を追加してXMLデータを取得しました。
WIKI_URL = "http://ja.wikipedia.org/wiki/%(special)s/%(keyword)s" SPECIAL = "特別:データ書き出し" import urllib2 opener = urllib2.build_opener() opener.addheaders = [("User-agent", "Mozilla/5.0")] url = WIKI_URL % {"special":SPECIAL,"keyword":[キーワード]} data = opener.open(url) xmlData = data.read()
こちらの URL を参考にさせていただきました。