我使用維基媒體API從維基百科文章'https://en.wikipedia.org/w/api.php?action=query&prop=links&redirects&pllimit=500&format=json'中檢索所有可能的URL,但它只給出鏈接標題的列表,例如人工智能,維基百科頁面有一個標題爲「傳送網絡」的鏈接, ,但實際的網址是「https://en.wikipedia.org/wiki/Content_delivery_network」,這正是我想要的如何使用mediawiki API在維基百科文章中獲取所有網址(不只是標題)?
回答
我已經替換了大部分我以前的答案,包括代碼,以便使用Tgr答案中提供的信息,以防其他人想要樣本Python代碼。這段代碼很大程度上基於Mediawiki的代碼,用於所謂的「原始延續」。
我有意將每個調用所請求的鏈接數限制爲五個,這樣可以演示更多的參數可能性。注意到資本 -
import requests
def query(request):
request['action'] = 'query'
request['format'] = 'json'
request['prop'] = 'info'
request['generator'] = 'links'
request['inprop'] = 'url'
previousContinue = {}
while True:
req = request.copy()
req.update(previousContinue)
result = requests.get('http://en.wikipedia.org/w/api.php', params=req).json()
if 'error' in result:
raise Error(result['error'])
if 'warnings' in result:
print(result['warnings'])
if 'query' in result:
yield result['query']
if 'continue' in result:
previousContinue = {'gplcontinue': result['continue']['gplcontinue']}
else:
break
count = 0
for result in query({'titles': 'Estelle Morris', 'gpllimit': '5'}):
for url in [_['fullurl'] for _ in list(result.values())[0].values()]:
print (url)
我,如果OP想做具有人工智能類似的話那麼他應該有「人工智能」開始我的第一個答案提及。否則,搜索將以消除歧義頁面開始,以及可能出現的所有複雜問題。
感謝您提供代碼和努力,我將通過代碼:) –
非常歡迎您。 –
我應該在mediawiki上記錄關於此代碼的大部分或大部分想法的頁面:https://www.mediawiki.org/wiki/API:Query。 –
- 1. 如何獲取所有維基百科文章標題?
- 2. 維基百科API:獲取帶有統一標題的文章
- 3. 如何從Mediawiki API的維基百科文章中獲取信息框?
- 4. 從維基百科獲取維基百科主題標題
- 5. 如何使用維基百科API獲取維基百科文章信息框中的信息?
- 6. 獲取維基百科API
- 7. 如何通過API獲取維基百科文章長度?
- 8. 從維基百科獲取文章XML轉儲 - 通過標題
- 9. 使用MediaWiki API獲取維基百科數學表達式
- 10. 維基百科/ MediaWiki搜索API→查詢網址
- 11. PHP +維基百科:從維基百科文章的第一段獲取內容?
- 12. 使用PHP,如何使用MediaWiki API獲取維基百科文章的第一段?
- 13. 從標題獲取維基百科pageid
- 14. 如何使用維基百科API從維基百科上的類別頁面獲取所有子類別?
- 15. 獲取今日特色文章與維基百科API?
- 16. 如何使用wikipedia API獲取維基百科列表文章的項目?
- 17. 獲得維基百科文章概要
- 18. 如何獲取正確的維基百科文章
- 19. 獲取維基百科文章的當前狀態?
- 20. 使用GeoNames Java API檢索給定維基百科文章標題的座標
- 21. 如何從維基百科獲取文章修訂歷史
- 22. 如何獲取維基百科文章的默認圖片?
- 23. 如何從維基百科API獲取特定類別中的隨機文章?
- 24. 如何使用MediaWiki API從(德語)維基百科中提取信息框?
- 25. MediaWiki查詢和/或WikidataQuery查找維基百科文章
- 26. 如何從當前維基百科文章中獲取相關主題?
- 27. android:從維基百科文章顯示標題和文本
- 28. 如何使用維基百科的API
- 29. 如何使用維基百科的API
- 30. 維基百科API獲取數據
這很簡單,我從來不會直接使用API,但我會詳細介紹發生器和信息模塊,謝謝! –