2016-05-23 19 views

回答

4

是的,你可以通過使用Wikipedia API與action=parse。爲此目標,我們需要兩個屬性:sectionslinks。例如,對於維基百科的文章Chicago我們用一個查詢來獲得與名字段的指數「又見」:

https://en.wikipedia.org/w/api.php?action=parse&prop=sections&page=Chicago 

從響應我們看到它是。然後,我們使用該索引來獲取鏈接只能在本節:

https://en.wikipedia.org/w/api.php?action=parse&prop=links&page=Chicago&section=43 

注:最後的響應,也包括來自一些模板鏈接,在我們的例子門戶:芝加哥門戶:伊利諾斯州。如果你想要的話,你可以在你的請求中使用命名空間& ns = 0進行過濾。

+0

有沒有辦法從wiki api端點獲取所有部分和鏈接,並確定哪些鏈接屬於我們的應用程序邏輯中的哪個部分? – Lazhar

0

不是直接通過API。 MediaWiki以每頁爲基礎跟蹤鏈接,但不存儲鏈接來自哪個部分的信息。

我認爲你最好的選擇是獲取該部分的HTML,解析它並收集所有<a href元素。

相關問題