Запрос страницы данных Википедии

У меня проблемы с пониманием API Википедии.

Я изолировал ссылку, обработав json, полученный в ответ после отправки запроса на http://en.wikipedia.org/w/api.php

Предполагая, что я получил следующую ссылку, как мне получить доступ к такой информации, как дата рождения и т. д. .

Я использую питон. я пытался сделать

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

Я пробовал читать API. Но я не могу понять, как извлечь данные с определенных страниц.


person garak    schedule 13.07.2012    source источник
comment
Вы читали документацию?   -  person Bergi    schedule 13.07.2012


Ответы (3)


Пытаться:

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 или чего-то еще...

person BKovac    schedule 13.07.2012

Перейдите к MediaWiki API. Он лучше организован и дружелюбен к людям :-).

person OnesimusUnbound    schedule 13.07.2012

Вы не получите такую ​​информацию, как дата рождения, из API, по крайней мере, напрямую. Лучшее, что вы можете сделать, это получить код страницы (или отображаемый HTML) и проанализировать его, чтобы получить необходимую информацию.

В качестве альтернативы вы можете посмотреть DBpedia.

person svick    schedule 13.07.2012
comment
Я знаю, я не могу получить эту информацию напрямую. Я попытался напрямую загрузить страницу, она выдала мне ошибку 403. Я был в неведении. В любом случае спасибо. - person garak; 13.07.2012
comment
Если вы получили ошибку 403, прочтите политику Wikimedia User-Agent. - person svick; 13.07.2012