2017-02-08 8 views
0

私はcsvファイルに記載されている各種の名前にウィキペディアの要約とメインイメージを関連づけようとしています。 私はこのコードを書く:Wikipediaモジュールpython:jumping "wikipedia.exceptions.PageError"

import csv 
import wikipedia 

wikipedia.set_lang('it') 

with open('D:\\GIS\\Dati\\Vinca\\specie_vinca.csv', 'rt', encoding="utf8") as f: 
    reader = csv.reader(f) 
    for row in reader: 
     wikipage = wikipedia.page(row) 
     print (wikipage.title) 
     print (wikipage.summary) 
     print ("Page URL: %s" % wikipage.url) 
     print ("Nr. of images on page: %d" % len(wikipage.images)) 
     print (" - Main Image: %s" % wikipage.images[0]) 
     print ("") 

をしかし、それは種名に遭遇しないたびに、スクリプトは、このメッセージ「wikipedia.exceptions.PageError」wiht停止します。 スクリプトを終了したままこ​​れらのレコードをスキップするにはどうすればよいですか?

+0

空値exception.fileに内容があるかどうか –

+1

'Try:Except'を使用して、それらのエラーをスキップしてスクリプトを終了させることができます。おかげさまで –

+0

@Fabio Lamanna –

答えて

0

機能がwikipedia.pageの場合は、ページが存在しない場合はwikipedia.exceptions.PageErrorとなります。それはあなたがキャッチしたいエラーです。

私はあなたの例を与える:それらのエラーをスキップしExceptと スクリプトが

を終了してみましょう:あなたは Tryを使用することができます。

import wikipedia 
links = ["CPython","no page"] 
test=[] 
for link in links: 
    try: 
     #try to load the wikipedia page 
     page=wikipedia.page(link, auto_suggest=False) 
     test.append(page) 
    except wikipedia.exceptions.PageError: 
     #if a "PageError" was raised, ignore it and continue to next link 
     continue 

重要な注意あなたに//が多分その便利

+0

パーフェクトです。どうもありがとうございます@ Bob marti –

+0

@welcome。それが正しい場合はそれに印を付ける(目盛りとして) –