2016-07-28 9 views
0

このコードブロックの出力は、常に「例外」を返します。私の端末には特定のエラーは表示されません。何が間違っているのですか? ご協力いただければ幸いです!Urllib2と美しいスープを使用した無名エラー

from bs4 import BeautifulSoup 
import csv 
import urllib2 

# get page source and create a BeautifulSoup object based on it 
try: 
    print("Fetching page.") 
    page = urllib2.open("http://siph0n.net") 
    soup = BeautifulSoup(page, 'lxml') 

    #specify tags the parameters are stored in 
    metaData = soup.find_all("a") 
except: 
    print("Error during fetch.") 
    exit() 
+1

エラーは印刷されません。@DeepSpace answerを参照してください。また、 'open'はurllib2の関数ではありません。 – snahor

+0

@snahorありがとう! – dexray

+0

あなたのコードがうまく動作しているかどうか分からない場合は、 'try/except'を使ってコアブロックをカバーしてください。エラーメッセージは表示されません。 –

答えて

0

あなたexceptブロックがそれをシャドウイングされているためです

"いいえ、特定のエラーは、私の端末に表示されません"。 try/exceptを削除するか、またはexceptブロックで例外を印刷する次のいずれかの一般的なタイプExceptionをキャッチすることは一般的に悪い考えであることを

try: 
    . 
    . 
    . 
except Exception as ex: 
    print(ex) 

注意。あなたのexceptブロックは、常に特定の例外タイプを可能な限り捕捉する必要があります。

+0

openはurllib2の機能ではありませんでした。ありがとう! – dexray

0

データの取得要求を使用できます。

from bs4 import BeautifulSoup 
import requests 
import csv 
import urllib2 
# get page source and create a BeautifulSoup object based on it 
try: 
    print("Fetching page.") 
    page = requests.get("http://siph0n.net") 
    soup = BeautifulSoup(page, 'lxml') 

    #specify tags the parameters are stored in 
    metaData = soup.find_all("a") 
except Exception as ex: 
    print(ex) 
+0

ありがとう、これは私にエラーを与え、それは今固定されています。 – dexray

関連する問題