2017-11-29 1 views
1

wikipedia python用のパッケージは、ウィキペディアのページからセクションを取得できます。セクションのリストを抽出し、そのリストの要素を使用してそのセクションのコンテンツを取得することができます。私は多くのページのためにそれを使用してNoneいずれかの特定のセクションを返す1ページに出くわしたされています:私は、ウィキペディアのページのソースをチェックしていると奇妙な何かを発見していないWikipedia.sectionは、なしを返します。

import wikipedia 

wikipedia.set_lang("nl") 
page = wikipedia.page("Samenstelling_Tweede_Kamer_1875-1879") 

secs = page.sections   #Get a complete list of the page's sections 
print(page.section(secs[1])) #returns the section 
print(page.section(secs[2])) #doesn't work, returns a None 

ノート :私は次のようにwikipediaパッケージをインストールしました:

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

答えて

0

問題は、次の2つのクエリの応答によって引き起こされる:動作しない部分は、二重のスペースを持っているように見えます

https://nl.wikipedia.org/w/api.php?action=parse&prop=sections&page=Samenstelling_Tweede_Kamer_1875-1879&format=json 
https://nl.wikipedia.org/w/api.php?explaintext=&rvprop=ids&titles=Samenstelling_Tweede_Kamer_1875-1879&prop=extracts|revisions&action=query&format=json 

。この二重のスペースにのみ2番目のクエリで削除される:

 
Conservatief-Katholiek (14 zetels) 
Conservatief-Katholiek (14 zetels) 

これは、ウィキペディアのPythonモジュールに問題が発生します。私はreportedこの問題がウィキメディアの問題ページにあります。

0

そのパッケージ内.section()方法は次のようにフォーマットされたセクション見出しを探します:

section = u"== {} ==".format(section_title) 

タイトルの両側のスペースに注意してください。しかし、あなたが見ているページには、そのセクションの大部分のスペースがありません。たとえば、==Gekozen bij de verkiezingen van 8 juni 1875==です。これはセクションが正確にフォーマットされることを期待する理由がないので、パッケージのバグのように見えます。

+0

私はいくつかの言語でいくつかのページを見てきましたが、セクションタイトルには何も表示されていません。 – Psytho

+0

これは理由ではありません。スペースがない最初のセクションでもメソッドが正常に動作するためです。 – Psytho

関連する問題