ウィキペディアで人の生年月日と死亡日を検索できるpythonプログラムを作成しようとしています。
たとえば、アルバート アインシュタインは、1879 年 3 月 14 日に生まれました。死亡: 1955 年 4 月 18 日。
Pythonでウィキペディアの記事を取得することから始めました
import urllib2
opener = urllib2.build_opener()
opener.addheaders = [('User-agent', 'Mozilla/5.0')]
infile = opener.open('http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&rvsection=0&titles=Albert_Einstein&format=xml')
page2 = infile.read()
これはどこまでも機能します。page2
アルバート アインシュタインのウィキペディア ページのセクションの xml 表現です。
そして、xml形式のページを持っているので、このチュートリアルを見ました... http://www.travisglines.com/web-coding/python-xml-parser-tutorialですが、取得方法がわかりません必要な情報 (生年月日と死亡日) を xml から取得します。近づかなければならない気がしますが、ここから先に進む方法がわかりません。
編集
いくつかの回答の後、私は BeautifulSoup をインストールしました。私は今、印刷できる段階にいます:
import BeautifulSoup as BS
soup = BS.BeautifulSoup(page2)
print soup.getText()
{{Infobox scientist
| name = Albert Einstein
| image = Einstein 1921 portrait2.jpg
| caption = Albert Einstein in 1921
| birth_date = {{Birth date|df=yes|1879|3|14}}
| birth_place = [[Ulm]], [[Kingdom of Württemberg]], [[German Empire]]
| death_date = {{Death date and age|df=yes|1955|4|18|1879|3|14}}
| death_place = [[Princeton, New Jersey|Princeton]], New Jersey, United States
| spouse = [[Mileva Marić]]&nbsp;(1903–1919)<br>{{nowrap|[[Elsa Löwenthal]]&nbsp;(1919–1936)}}
| residence = Germany, Italy, Switzerland, Austria, Belgium, United Kingdom, United States
| citizenship = {{Plainlist|
* [[Kingdom of Württemberg|Württemberg/Germany]] (1879–1896)
* [[Statelessness|Stateless]] (1896–1901)
* [[Switzerland]] (1901–1955)
* [[Austria–Hungary|Austria]] (1911–1912)
* [[German Empire|Germany]] (1914–1933)
* United States (1940–1955)
}}
だから、もっと近いですが、この形式でdeath_dateを返す方法はまだわかりません。で物事の解析を開始しない限り、re
? それはできますが、この仕事には間違ったツールを使用しているように感じます。