現在、Webページの取得中にエラーが発生した場合、スープにはページが表示されませんが、beautifulsoupからのデフォルトの戻り値を取得します。WebページがBeautifulSoupにロードされない場合の処理方法
私は、Webページを取得中にエラーがあれば、私は
if soup:
do stuff
ようなコードの塊をスキップすることができますが、私は一緒にすべて終了したくないようにこれをチェックする方法を探しています。初心者のお誘いのためのお申し込み。
def getwebpage(address):
try:
user_agent = 'Mozilla/4.0 (compatible; MSIE 5.5; Windows NT)'
headers = { 'User-Agent' : user_agent }
req = urllib2.Request(address, None, headers)
web_handle = urllib2.urlopen(req)
except urllib2.HTTPError, e:
error_desc = BaseHTTPServer.BaseHTTPRequestHandler.responses[e.code][0]
appendlog('HTTP Error: ' + str(e.code) + ': ' + address)
return
except urllib2.URLError, e:
appendlog('URL Error: ' + e.reason[1] + ': ' + address)
return
except:
appendlog('Unknown Error: ' + address)
return
return web_handle
def test():
soup = BeautifulSoup(getwebpage('http://doesnotexistblah.com/'))
print soup
if soup:
do stuff
test()
はいといいえ、それは私が欲しいものであるが、スープあなたが悪いアドレスを与えたときでも、決してNoneではありません... – Brad
'getwebpage'からちょうど' return'をすると 'None'です。 –