运行结不雅和刚才雷同。
(3)缺点处理
缺点处理经由过程urllib模块来处理,重要有URLError和HTTPError缺点,个中HTTPError缺点是URLError缺点的子类,即HTTRPError也可以经由过程URLError捕获。
HTTPError可以经由过程其code属性来捕获。
处理HTTPError的代码如下:
- from urllib import request
- from urllib import error
- def Err():
- url = "https://segmentfault.com/zzz"
- req = request.Request(url)
- try:
- response = request.urlopen(req)
- html = response.read().decode("utf-8")
- print(html)
- except error.HTTPError as e:
- print(e.code)
- if __name__ == '__main__':
- Err()
运行结不雅如图:
404为打印出的缺点代码,关于此具体信息大年夜家可以自行百度。
URLError可以经由过程其reason属性来捕获。
chuliHTTPError的代码如下:
- from urllib import request
- from urllib import error
- def Err():
- url = "https://segmentf.com/"
- req = request.Request(url)
- try:
- response = request.urlopen(req)
- html = response.read().decode("utf-8")
- print(html)
- except error.URLError as e:
- print(e.reason)
- if __name__ == '__main__':
- Err()
运行结不雅如图:
既然为了处理缺点,那么最好两个缺点都写入代铝闼楝毕竟超出细越清楚。须留意的是,HTTPError是URLError的子类,所以必定要将HTTPError放在URLError的前面,不然都邑输出URLError的,如将404输出为Not Found。
代码如下:
- from urllib import request
- from urllib import error
- # 第一种办法,URLErroe和HTTPError
- def Err():
- url = "https://segmentfault.com/zzz"
- req = request.Request(url)
推荐阅读
【51CTO.com原创稿件】2014年2月,索尼宣布出售PC营业,JIP基金接办。新VAIO公司JIP持股95%,索尼保存5%的股份,之前引导VAIO事业部的赤羽良介将持续引导VAIO团队并入JIP,团队范围缩减至>>>详细阅读
本文标题:python爬虫——写出最简单的网页爬虫
地址:http://www.17bianji.com/lsqh/36627.html
1/2 1