1

私はPythonでウィキペディアのページを解析しようとしていて、APIを使用して非常に成功しています。

しかし、どういうわけか、APIドキュメントは、私がすべてのデータを取得するには少し骨が折れすぎているようです。今のところ、私はrequests.get()呼び出しを行っています

http://en.wikipedia.org/w/api.php?action=query&prop=extracts&titles=China&format=json&exintro=1

しかし、これは私に最初の段落を返すだけです。ページ全体ではありません。全ページと検索を使用しようとしましたが、役に立ちませんでした。wikiページからデータを取得する方法のより良い説明は本当に役に立ちます。前のクエリで返された紹介だけでなく、すべてのデータ。

4

3 に答える 3

3

ページのコンテンツを取得するためにクエリアクションを使用しているようです。API仕様によると、データの一部のみを返します。適切なアクションはクエリのようです。

これがサンプルです

import urllib2
req = urllib2.urlopen("http://en.wikipedia.org/w/api.php?action=parse&page=China&format=json&prop=text")
content = req.read()
# content in json - use json or simplejson to get relevant sections.
于 2012-05-13T10:41:25.863 に答える
1

ページからコンテンツを抽出するためにBeautifulSoupを使用することを検討しましたか?

私はこれをウィキペディアに使用していませんが、他の人は使用しており、他のページをスクレイプするために使用しており、優れたツールです。

于 2012-05-13T10:39:29.073 に答える
0

誰かがここでpython3の答えを探しているなら、あなたは行き​​ます:

import urllib.request
    req = urllib.request.urlopen("http://en.wikipedia.org/w/api.php?action=parse&page=China&format=json&prop=text")
    print(req.read())

私はPythonバージョン3.7.0b4を使用しています。

于 2018-06-01T17:27:21.313 に答える