維基百科文章可能有Infobox模板。通過以下電話,我可以得到包含Infobox的文章的第一部分。如何從Mediawiki API的維基百科文章中獲取信息框?
http://en.wikipedia.org/w/api.php?action=parse&pageid=568801§ion=0&prop=wikitext
我想要的是一個將只返回Infobox數據的查詢。這可能嗎?
維基百科文章可能有Infobox模板。通過以下電話,我可以得到包含Infobox的文章的第一部分。如何從Mediawiki API的維基百科文章中獲取信息框?
http://en.wikipedia.org/w/api.php?action=parse&pageid=568801§ion=0&prop=wikitext
我想要的是一個將只返回Infobox數據的查詢。這可能嗎?
您可以通過URL調用API維基百科這樣做:
http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&format=xmlfm&titles=Scary%20Monsters%20and%20Nice%20Sprites&rvsection=0
與你的頁面標題更換titles=
部分,format=xmlfm
到format=json
如果你想在JSON格式的文章。對@加里的回答
大廈,你可以有維基百科通過rvparse
參數解析信息框成HTML,你像這樣:
http://en.wikipedia.org/w/api.php?action=query&prop=revisions&rvprop=content&format=json&titles=Scary%20Monsters%20and%20Nice%20Sprites&rvsection=0&rvparse
注意,無論是方法將返回只是的信息框。但是從html內容中,您可以提取table
與infobox
類(通過,例如,美麗)。
在Python
,你不喜歡以下
resp = requests.get(url).json()
page_one = next(iter(resp['query']['pages'].values()))
revisions = page_one.get('revisions', [])
html = next(iter(revisions[0].values()))
# now parse the html
東西如果頁面右側的信息框,然後使用這個URL獲得它的TXT格式。 我的例子是使用元素氫。你所需要做的就是用你的標題替換「氫」。
https://en.wikipedia.org/w/index.php?action=raw&title=Template:Infobox%20hydrogen
如果您正在尋找JSON格式使用這個URL,但它不是漂亮。
https://en.wikipedia.org/w/api.php?action=parse&page=Template:Infobox%20hydrogen&format=json
[獲取維基百科的信息框部分]的可能的複製(http://stackoverflow.com/questions/3312346/getting-the-infobox-section-of-wikipedia) – Nemo
參見[如何提取來自維基百科信息框的信息?](https://stackoverflow.com/questions/33862336/how-to-extract-information-from-a-wikipedia-infobox)瞭解更詳細的答案。 – Tgr