利用Python进行网页访问的时候,难免会遇到访问出错的时候,这时候就需要进行异常处理了,否则在进行网页爬虫的时候会时不时的出现访问失败而导致程序终止。下面是常用的两种异常处理方法:
'''
处理网页访问异常的方法:
'''
print("======================方法一============================")
from urllib.request import Request, urlopen
from urllib.error import URLError, HTTPError
someurl = "http://5555666.com"
req = Request(someurl)
try:
response = urlopen(req)
except HTTPError as e: # HTTPError 是URLError的子类,需要写在前面,否则会被覆盖
print('The server couldn\'t fulfill the request.')
print('Error code: ', e.code)
except URLError as e:
print('We failed to reach a server.')
print('Reason: ', e.reason)
else:
print("done")
# everything is fine
print("========================方法二==========================")
from urllib.request import Request, urlopen
from urllib.error import URLError, HTTPError
req = Request(someurl)
try:
response = urlopen(req)
except URLError as e:
if hasattr(e, 'reason'):
print('We failed to reach a server.')
print('Reason: ', e.reason)
elif hasattr(e, 'code'):
print('The server couldn\'t fulfill the request.')
print('Error code: ', e.code)
else:
print("over")
# everything is fine