mediawiki APIを使用してウィキペディアページのリビジョン数を取得する方法を知っていますか? 私はこのAPIドキュメントを読んでいるが、関連するAPIを見つけることができません。
Revision APIWikipedia API:ページのリビジョン数を取得する方法は?
7
A
答えて
7
唯一の可能性は、すべてのリビジョンを取得し、それらを数えることです。そのためにはcontinue the queryが必要な場合があります。
Bug 17993はまだカウントされていますが、未解決です。
1
リビジョンを取得し、カウントする方法を実装します(単なるXMLです)。
api.php ? action=query & prop=revisions & titles=API|Main%20Page & rvprop=timestamp|user|comment|content
。ここで
<api>
<query>
<pages>
<page pageid="1191" ns="0" title="API">
<revisions>
<rev user="Harryboyles" timestamp="2006-10-31T05:39:01Z" comment="revert unexplained change: see talk ...">
...content...
</rev>
</revisions>
</page>
<page pageid="11105676" ns="0" title="Main Page">
<revisions>
<rev user="Ryan Postlethwaite" timestamp="2007-06-26T19:05:06Z" comment="rv - what was that for?">
...content...
</rev>
</revisions>
</page>
</pages>
1
(この場合は、JSON wiki page)ページのリビジョンの数を取得するためのコードです:
import requests
BASE_URL = "http://en.wikipedia.org/w/api.php"
TITLE = 'JSON'
parameters = { 'action': 'query',
'format': 'json',
'continue': '',
'titles': TITLE,
'prop': 'revisions',
'rvprop': 'ids|userid',
'rvlimit': 'max'}
wp_call = requests.get(BASE_URL, params=parameters)
response = wp_call.json()
total_revisions = 0
while True:
wp_call = requests.get(BASE_URL, params=parameters)
response = wp_call.json()
for page_id in response['query']['pages']:
total_revisions += len(response['query']['pages'][page_id]['revisions'])
if 'continue' in response:
parameters['continue'] = response['continue']['continue']
parameters['rvcontinue'] = response['continue']['rvcontinue']
else:
break
print parameters['titles'], total_revisions
あなたがここに結果を確認することができます。https://en.wikipedia.org/w/index.php?title=JSON&action=info#Edit_history
を(対応するウィキペディアのページのサイドバーからアクセスできます:ツール - ページ情報)
関連する問題
- 1. APIによるWikipedia記事のWikidata IDの取得方法は?
- 2. Wikipedia API - ランダムページを取得
- 3. Wikipedia APIからデータを取得する
- 4. Wikipedia list = search REST API:一致する記事のURLも取得する方法
- 5. Wikipedia APIコンテンツを編集する方法
- 6. Wikipediaエントリーのテンプレートタイプを取得する方法
- 7. GoogleAnalytics APIの別ページのページビューデータを取得する方法
- 8. wikipedia APIを使用してコンテンツを取得する
- 9. Facebook API - Facebook APIを使用してページIDを取得する方法は?
- 10. オープンソースプロジェクトからアセンブリの以前のリビジョンを取得する方法
- 11. APIによるWikipedia記事の主なイメージとテキストの短いスニペットを取得する方法は?
- 12. グラフApiでフレンドリストのメンバー数を取得する方法は?
- 13. グラフAPI経由でFacebookページ通知を取得する方法
- 14. MPDFの総ページ数を取得する方法は?
- 15. 映画のためにWikipedia APIからコンテンツを取得するには?
- 16. JSONを使用してWikipedia APIからデータを取り出す方法は?
- 17. 複数ページ文書の現在のページのPdfWriterを取得する方法は?
- 18. Mediawikiとテンプレートでページのリストを取得する方法
- 19. TFSテストマネージャAPIのTestCaseの特定のリビジョンを取得するには、ゼロアクション
- 20. twitter APIで複数のユーザーステータスを取得する方法
- 21. WP rest api:コメントの数を取得する方法
- 22. Facebook APIユーザーページを取得する方法
- 23. ドライブAPIでGoogle docリビジョンの詳細なリストを取得するには
- 24. SharpSVNから最新のリビジョン番号を取得する方法は?
- 25. SVN - リビジョンの一部を取得する
- 26. ページの取得方法
- 27. Facebook APIページングなしのすべてのページを取得する方法
- 28. Facebook-iOs-APIカスタム関数でレスポンスを取得する方法
- 29. Instagram APIからビデオビュー数を取得する方法
- 30. Kaminariを使用してページ数を取得する方法
これは、リビジョンの数を取得するための非常に高価な方法です。あなたは放棄している多くのデータ(ページの内容、要約を編集する)をリクエストしています。 – Mark