我試圖找出是否有維基百科API(我認爲它與mediawiki有關?)。如何使用wikipedia API如果存在?
如果是這樣,我想知道我將如何告訴維基百科給我一篇關於紐約洋基的文章。
這個例子的REST網址是什麼?
關於此主題的所有文檔看起來相當複雜。
我試圖找出是否有維基百科API(我認爲它與mediawiki有關?)。如何使用wikipedia API如果存在?
如果是這樣,我想知道我將如何告訴維基百科給我一篇關於紐約洋基的文章。
這個例子的REST網址是什麼?
關於此主題的所有文檔看起來相當複雜。
你真的需要花一些時間閱讀文檔,因爲這花了我一點時間看看,然後點擊鏈接來解決它。 :/但出於同情我會給你一個鏈接,也許你可以學習使用。
這就是variabled你會找得到的。最好的辦法是要知道你將是以後的頁面,並取代維基百科的鏈接部分入題,即:
http://en.wikipedia.org/wiki/New_York_Yankees [維基後把部分/]
- >
[把它放在GET請求的標題變量中。
上面的URL可以通過調整來獲得你做或不想做的不同部分。所以請閱讀文檔:)
見http://www.mediawiki.org/wiki/API
具體來說,對於英文維基百科,API位於http://en.wikipedia.org/w/api.php
這裏的答案幫助我找到了一個解決方案,但是我發現了更多的信息,可能對其他找到這個問題的人有利。我想大多數人只是想使用API來快速從頁面上獲取內容。這裏是我正在做的是:
使用修訂:
//working url:
http://en.wikipedia.org/w/api.php?action=query&prop=revisions&titles=Threadless&rvprop=content&format=json&rvsection=0&rvparse=1
//Explanation
//Base Url:
http://en.wikipedia.org/w/api.php?action=query
//tell it to get revisions:
&prop=revisions
//define page titles separated by pipes. In the example i used t-shirt company threadless
&titles=whatever|the|title|is
//specify that we want the page content
&rvprop=content
//I want my data in JSON, default is XML
&format=json
//lets you choose which section you want. 0 is the first one.
&rvsection=0
//tell wikipedia to parse it into html for you
&rvparse=1
使用提取物(更好/更容易爲我在做什麼)
//working url:
http://en.wikipedia.org/w/api.php?action=query&prop=extracts&titles=Threadless&format=json&exintro=1
//only explaining new parameters
//instead of revisions, we'll set prop=extracts
&prop=extracts
//if we just want the intro, we can use exintro. Otherwise it shows all sections
&exintro=1
所有信息需要通過閱讀所提到的API文檔,但我希望這些示例能夠幫助大多數來這裏快速修復的人員。
如果你想提取從維基百科的結構化數據,您可以考慮使用DBpedia的http://dbpedia.org/
它提供的手段來查詢使用利用解析維基百科的信息框模板SPARQL數據返回給定的標準數據
有一些SPARQL庫可用於多種平臺以使查詢更容易
查看ApiSandbox https://en.wikipedia.org/wiki/Special:ApiSandbox這是一個易於查詢API的Web前端。點擊幾下即可製作網址並顯示API結果。
這是對所有維基百科語言啓用的MediaWiki的擴展。 https://www.mediawiki.org/wiki/Extension:ApiSandbox
如果你想提取維基百科結構化的數據,你也可以嘗試 http://www.wikidata.org/wiki/Wikidata:Main_Page
Wiki Parser轉換維基百科轉儲到XML。它也很快。然後,您可以使用任何XML處理工具來處理解析的維基百科文章中的數據。
下面是一個實用的示例進行打印從維基百科紐約洋基頁的第一句到Web瀏覽器的控制檯:
<!DOCTYPE html>
</html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
</head>
<body>
<script>
var wikiUrl = "http://en.wikipedia.org/w/api.php?action=opensearch&search=New_York_Yankees&format=json&callback=wikiCallbackFunction";
$.ajax(wikiUrl, {
dataType: "jsonp",
success: function(wikiResponse) {
console.log(wikiResponse[2][0]);
}
});
</script>
</body>
</html>
http://en.wikipedia.org/w/api.php
是爲您的網址端點。您可以通過訪問來了解如何構建您的網址: http://www.mediawiki.org/wiki/API:Main_page
我使用jsonp作爲dataType以允許跨站點請求。更可以在這裏找到: http://www.mediawiki.org/wiki/API:Cross-site_requests
最後但並非最不重要,一定要引用Jquery.ajax()API: http://api.jquery.com/jquery.ajax/
的「如果存在」部分也是這裏介紹:HTTP:// stackoverflow.com/questions/627594/is-there-a-wikipedia-api。但我認爲「如何使用它」部分是一個合理的問題......有點。 – Jonik 2009-06-08 12:14:38
現在有一個R包可以訪問Mediawiki API(以及維基百科),更多詳細信息和示例:http://stackoverflow.com/a/24027866/1036500 – Ben 2014-06-04 02:06:53