2016-01-19 20 views
8

Próbuję zobaczyć spis treści na stronie wikipedii za pomocą Wikipedia API dla Pythona. Oto mój kod.Wikipedia API dla Pythona

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

Ale otrzymuję pustą listę [] jako wynik. Kiedy wchodzę na stronę i sprawdzam, widzę, że zawartość jest zawarta w spisie treści. Wszystkie inne rzeczy wymienione w dokumentacji wydają się działać z wyjątkiem tego. Jestem nowy w python pochodzących z tła Java.

+1

To dziwne, ale wygląda na to 'nigdy sections' działa prawidłowo. Zawsze zwraca pustą listę. – PatNowak

+0

@PatNowak w jaki sposób zweryfikowaliście, zawsze zwraca pustą listę? – mahacoder

+0

Sprawdziłem kilka stron. – PatNowak

Odpowiedz

9

Występuje błąd w bieżącej wersji biblioteki python API Wikipedii. Można zainstalować oddział przez lucasdnd on github że stacjonarnej to:

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

(Można --upgrade jeśli masz już go zainstalowanego)

Teraz:

>>> 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'] 

To będzie miejmy nadzieję być fixed in the main library niedługo .

2

Miałem do czynienia z tym samym problemem. A ponieważ to prawie 3 lata i nie wygląda na to, że zostanie naprawione, utworzyłem kolejną prostą bibliotekę - 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])) 

wyjściowa:

Places 
Media and entertainment 
Sports 
Ships 
Other uses 
See also