2014-07-17 77 views
0

我找的使用,我可以得到有關任何查詢字符串簡短說明一個鏈接到MediaWiki API的文章摘要。例如,如果我搜索尼古拉斯凱奇,那麼它應該返回他的簡短描述。獲取從MediaWiki的API

我試圖http://en.wikipedia.org/w/api.php?%20format=json&action=query&titles=Nicolas%20Cage&prop=revisions&rvprop=content

我不知道,如果道具=版本是正確的。我的意圖是對該頁面的最終版本進行簡要說明。

此外,我需要另一個API,它可以給維基百科頁面(網絡/手機)的從查詢字符串中的鏈接。即對於Nicolas Cage,應返回http://en.wikipedia.org/wiki/Nicolas_cage

回答

2
  1. 存在由默認MediaWiki的一個頁面摘要沒有這樣的事情,但你可以得到一個頁面像這樣的第一款:http://en.wikipedia.org/w/api.php?action=parse&page=Nicolas_Cage&prop=text&section=0
    如果wiki有擴展PageSummaries安裝,你可以使用以準確地得到您要求的內容(如擴展說明頁面中的this example)。

  2. 要找到匹配的字符串的網頁,使用開放的搜索功能,類似這樣的:http://en.wikipedia.org/w/api.php?action=opensearch&search=Nicolas%20cage&namespace=0

編輯:@Bergi指出在評論認爲開放搜索也給頁的摘要。我有點不知所措。

+2

+1。在[OpenSearch的(https://www.mediawiki.org/wiki/API:Opensearch)會甚至給你摘錄其''節點 – Bergi

+1

以'動作= query'一個也可以使用'&道具= extracts'以獲得對提取物長度的更多控制。 – Ainali

0

說,你想搜索字符串尼古拉斯·凱奇的總結。

步驟1.獲取頁面ID:
https://en.wikipedia.org/w/api.php?action=query&list=search&srsearch=Nicolas%20Cage&format=json&srlimit=1
第2步:使用此頁ID獲得頁面的部分0: 「https://en.wikipedia.org/w/api.php?action=parse&section=0&pageid=21111&prop=text&format=json
步驟3.解析按要求。
步驟3爲Python擴展:使用BeautifulSoup作爲目標標記,get_text()給出明文。
使用rvprop獲取最新版本,進一步通過mediaWIKI文檔。

備用解決方案:
第1步。使用上述第1步獲取頁面標題。
步驟2.使用如下標題:https://en.wikipedia.org/w/api.php?format=json&action=query&prop=extracts&exintro=&explaintext=&titles=Nicolas%20Cage