2012-05-13 3 views
1

Я пытался проанализировать страницу википедии в Python и довольно успешно использовал API.Как проанализировать страницу википедии в Python?

Но, как-то документация API кажется слишком скелетной для меня, чтобы получить все данные. В настоящее время, я делаю вызов requests.get() в

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

Но это только возвращает меня в первый абзац. Не вся страница. Я пытался использовать все страницы и искать, но безрезультатно. Лучшее объяснение того, как получить данные с вики-страницы, будет реальной помощью. Все данные, а не только введение, возвращаемое предыдущим запросом.

ответ

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. 
+0

Я заметил орфографическую ошибку, ее 'urllib' не' urlib' я исправил в своем редактировании –

+0

Спасибо @JakobBowyer Не понял. –

1

Считаете ли вы использование Beautiful Soup для извлечения содержимого со страницы?

В то время как я не использовал это для википедии, другие имеют, и использовали его для очистки других страниц, и это отличный инструмент.

+2

не будет выскабливание занять больше времени, чем с помощью API? – Hick

Смежные вопросы