查询维基百科数据页面

时间:2012-07-13 13:42:27

标签: python web-crawler wikipedia

我无法理解维基百科API。

我有一个孤立链接,通过处理json,我在向 http://en.wikipedia.org/w/api.php发送请求后作为回复

假设我得到以下link,我如何获取出生日期等信息。

我正在使用python。我试过做

import urllib2,simplejson
search_req = urllib2.Request(direct_url_to_required_wikipedia_page)
response = urllib2.urlopen(search_req)

我试过读api。但是,我无法弄清楚如何从特定页面中提取数据。

3 个答案:

答案 0 :(得分:5)

尝试:

import urllib
import urllib2
import simplejson

url = 'http://en.wikipedia.org/w/api.php'
values = {'action' : 'query',
          'prop' : 'revisions',
          'titles' : 'Jennifer_Aniston',
          'rvprop' : 'content',
          'format' : 'json'}

data = urllib.urlencode(values)
req = urllib2.Request(url, data)
response = urllib2.urlopen(req)
json = response.read()

变量json是维基百科页面的json。你现在可以用simplejson或其他任何东西来解析它......

答案 1 :(得分:3)

转到MediaWiki API。它组织得更好,对人类友好: - )。

答案 2 :(得分:1)

您不会从API获取出生日期等信息,至少不能直接获取。您可以做的最好的事情是获取页面代码(或呈现的HTML)并解析它以获取所需的信息。

作为替代方案,您可能需要查看DBpedia