2010-07-22 100 views
15

如果我有一個頁面的網址,如何使用MediaWiki webservices獲取右側的信息框信息?如何從維基百科獲取信息框數據?

+1

您必須談論某些頁面上使用的框,例如,一個關於一個人的頁面,涵蓋基本的細節(體重,身高,年齡......) - 對嗎? – Wikis 2010-07-23 10:53:06

+0

是的,這是正確的 – tomxu 2010-07-24 06:19:02

+1

@tomux - 如果他們真的回答你的問題,請接受其中一個答案。 – Wikis 2010-09-18 16:52:41

回答

9

有沒有微不足道的方法來做到這一點。您可以嘗試使用獲取的action=raw頁面內容,即http://en.wikipedia.org/w/index.php?action=raw&title=Douglas_Jardine 然後找到信息框的通過搜索{{Infobox開始。然後找到找到匹配}},考慮到信息框本身也可以包含{{結束 - }}{{{ - }}}雙。

1

Tomxu - 你在談論的是一個模板 - 這是一個簡單的頁面,您可以包括另一頁上。對於信息框,您需要先看看Template:Infobox。這給你詳細的說明。

您也可以按編輯(或視圖代碼)和內容複製到您自己的wiki。請記住,模板傾向於處於層次結構中,因此您可能需要複製Infobox使用的其他模板(如果要使用它們)。每個模板都可以用{{}}標識,例如Infobox模板將如下所示:{{Infobox}}。

我提到一個層次:你實際上會發現多個模板,所有使用模板:信息框。要找到它們,只需在維基百科的搜索字段中輸入以下內容:Template:Infobox然後您會找到多個示例,例如Template:Infobox writer

更新:如果你的意思是Navboxes,那麼see this information

0

在我們的項目中,我們使用查詢的維基獲取數據是這樣的:

 
http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%22http%3A%2F%2Fen.wiktionary.org%2Fwiki%2Flife%22%20and%20xpath%3D'%2F%2Fdiv%5B%40id%3D%22bodyContent%22%5D'&format=xml&diagnostics=false&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=recwiki 

我對它有沒有全面的瞭解,但它的作品。輸出結果可以使用jquery或其他方法進行過濾。

13

也許有點晚,但我想同樣的事情,並沒有在這裏看到任何簡單的解決方案,但(如布賴恩指出的)事實證明不是太難使用MediaWiki的API與此庫:

https://github.com/siznax/wptools

用法:

>>> import wptools 
>>> so = wptools.page('Stack Overflow').get_parse() 
>>> so.infobox 
{'alexa': '{{DecreasePositive}}', 
'author': '[[Joel Spolsky]] and [[Jeff Atwood]]', 
'caption': 'Screenshot of Stack Overflow as of February 2015', 
'commercial': 'Yes', 
'content_license': '[[Creative Commons license|CC-BY-SA]] 3.0', 
'current status': 'Online', 
'landscape': 'yes', 
'language': 'English', 
'launch date': '{{start date and age|2008|9|15}}', 
'logo': 'Stack Overflow logo.svg', 
'name': 'Stack Overflow', 
'owner': 'Stack Exchange, Inc.', 
'programming_language': '[[C Sharp (programming language)|C#]]', 
'registration': 'Optional; Uses [[OpenID]]', 
'revenue': '', 
'screenshot': 'Stack Overflow homepage.png', 
'slogan': '', 
'type': '[[:Category:Knowledge markets|Knowledge markets]]', 
'url': '{{URL|https://stackoverflow.com}}'} 
+0

不是那麼好。你真的需要檢查你的提取是否正確。有時對於信息框中的特定項目,它會提取整個鏈接 – 2017-07-21 08:15:53

+2

@HaniGotc我們做了一些改進。讓我們知道你是否仍然有問題。 – siznax 2018-01-30 03:39:08

0

有關使用編輯模式是什麼?你可以在正確的文本區域剛開始(大部分時間包含id="wpTextBox1"),並解析文本區的內容...... 我用來查找出來的網址是(注:部分= 0):

https://de.wikipedia.org/w/index.php?title=Pelephone&action=edit&section=0 

問候

2

每個維基百科頁面與一個維基數據項關聯,且所有這些項目包括從維基百科頁面的信息框模板的大多數參數。因此,您只需要訪問Wikidata API與維基百科頁面相關的數據。

一個例子如何從Wikidata item得到維基百科Donald Trump頁面的數據:

https://www.wikidata.org/w/api.php?action=wbgetentities&sites=enwiki&props=claims&titles=Donald Trump 

響應包括:出生,圖像,宗教,母親,父親,孩子,身高,簽名的日期和地點,官方網站等等,所有關於唐納德特朗普的主要信息都包含在Wikipedia Infobox中。

相關問題