2016-01-19 2 views
8

Я пытаюсь увидеть оглавление на странице wikipedia с использованием API Википедии для python. Вот мой код.Wikipedia API для python

>>> import wikipedia 
>>> ny = wikipedia.page("New York") 
>>> ny.sections 

Но я получаю пустой список [] в качестве результата. Когда я перехожу на страницу и проверяю, я вижу, что есть содержание в оглавлении. Все, что сказано в документации, похоже, работает, кроме этого. Я новичок в python, исходящий из java-фона.

+1

Это странно, но это выглядит как 'sections' никогда не работает должным образом. Он всегда возвращает пустой список. – PatNowak

+0

@PatNowak, как вы проверили, он всегда возвращает пустой список? – mahacoder

+0

Я проверил кучу сайтов. – PatNowak

ответ

9

В текущей версии библиотеки python API Википедии есть ошибка. Вы можете установить ветку по lucasdnd on github, что исправил:

pip install git+https://github.com/lucasdnd/Wikipedia.git 

(Вы можете --upgrade, если он уже установлен)

Сейчас:

>>> import wikipedia 
>>> ny = wikipedia.page("New York") 
>>> ny.sections 
[u'History', u'16th century', u'17th century', u'18th century, the American Revolution, and statehood', u'19th century', u'Immigration', u'September 11, 2001 attacks', u'Hurricane Sandy, 2012', u'Geography', u'Climate', u'Statescape', u'Regions', u'Adjacent geographic entities', u'State parks', u'National parks', u'Administrative divisions', u'Demographics', u'Population', u'Most populous counties', u'Major cities', u'Metropolitan areas', u'Racial and ancestral makeup', u'Languages', u'Religion', u'LGBT', u'Economy', u'Wall Street', u'Silicon Alley', u'Microelectronic hardware and photographic processing', u'Media and entertainment', u'Tourism', u'Exports', u'Education', u'Transportation', u'Government and politics', u'Government', u'Capital punishment', u'Federal representation', u'Politics', u'Sports', u'See also', u'References', u'Further reading', u'External links'] 

Это мы надеемся, будет fixed in the main library в ближайшее время ,

2

Я столкнулся с той же проблемой. И так как это почти 3 года, и это не выглядит, что он будет исправлен, я создал еще одну простую библиотеку - Wikipedia-API.

import wikipediaapi 

wiki = wikipediaapi.Wikipedia('en') 
mutcd = wiki.page('Comparison of MUTCD-Influenced Traffic Signs') 
print("\n".join([s.title for s in mutcd.sections])) 

Выход:

Places 
Media and entertainment 
Sports 
Ships 
Other uses 
See also