В настоящее время, если при получении веб-страницы возникла ошибка, суп не будет заполнен страницей, а получит возврат по умолчанию от beautifulsoup.
Я ищу способ проверить это, чтобы приошибка при получении веб-страницы. Я могу пропустить фрагмент кода, подобный
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()