2016-01-19 3 views
8

Ich versuche, das Inhaltsverzeichnis in einer Wikipedia-Seite mit Wikipedia API für Python zu sehen. Hier ist mein Code.Wikipedia API für Python

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

Aber ich bin immer eine leere Liste [] als das Ergebnis. Wenn ich auf die Seite gehe und überprüfe, kann ich sehen, dass Inhalt im Inhaltsverzeichnis ist. Alle anderen Dinge, die in der Dokumentation erwähnt werden, scheinen zu funktionieren. Ich bin neu zu Python, der von einem Java-Hintergrund kommt.

+1

Es ist komisch, aber es sieht aus wie 'sections' nie richtig funktioniert. Es gibt immer eine leere Liste zurück. – PatNowak

+0

@PatNowak Wie haben Sie überprüft, dass es immer eine leere Liste zurückgibt? – mahacoder

+0

Ich habe eine Reihe von Websites überprüft. – PatNowak

Antwort

9

Es gibt einen Fehler in der aktuellen Version der Wikipedia-API-Python-Bibliothek. Sie können einen Zweig von lucasdnd on github installieren, die dieses Problem behoben:

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

(Sie können --upgrade, wenn Sie bereits installiert)

Jetzt:

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

Es hoffentlich fixed in the main library sein werde bald einmal .

2

Ich war mit dem gleichen Problem konfrontiert. Und da es fast 3 Jahre ist und es nicht aussieht, dass es repariert wird, habe ich eine andere einfache Bibliothek erstellt - 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])) 

Ausgang:

Places 
Media and entertainment 
Sports 
Ships 
Other uses 
See also