作家
登录

python爬虫——写出最简单的网页爬虫

作者: 来源: 2017-08-09 17:04:39 阅读 我要评论

运行结不雅和刚才雷同。

(3)缺点处理

缺点处理经由过程urllib模块来处理,重要有URLError和HTTPError缺点,个中HTTPError缺点是URLError缺点的子类,即HTTRPError也可以经由过程URLError捕获。

HTTPError可以经由过程其code属性来捕获。

处理HTTPError的代码如下:

  1. from urllib import request 
  2. from urllib import error 
  3.  
  4. def Err(): 
  5.     url = "https://segmentfault.com/zzz" 
  6.     req = request.Request(url) 
  7.  
  8.     try: 
  9.         response = request.urlopen(req) 
  10.         html = response.read().decode("utf-8"
  11.         print(html) 
  12.     except error.HTTPError as e: 
  13.         print(e.code) 
  14. if __name__ == '__main__'
  15.     Err()  

运行结不雅如图:

404为打印出的缺点代码,关于此具体信息大年夜家可以自行百度。

URLError可以经由过程其reason属性来捕获。

chuliHTTPError的代码如下:

  1. from urllib import request 
  2. from urllib import error 
  3.  
  4. def Err(): 
  5.     url = "https://segmentf.com/" 
  6.     req = request.Request(url) 
  7.  
  8.     try: 
  9.         response = request.urlopen(req) 
  10.         html = response.read().decode("utf-8"
  11.         print(html) 
  12.     except error.URLError as e: 
  13.         print(e.reason) 
  14. if __name__ == '__main__'
  15.     Err()  

运行结不雅如图:

既然为了处理缺点,那么最好两个缺点都写入代铝闼楝毕竟超出细越清楚。须留意的是,HTTPError是URLError的子类,所以必定要将HTTPError放在URLError的前面,不然都邑输出URLError的,如将404输出为Not Found。

代码如下:

  1. from urllib import request 
  2. from urllib import error 
  3.  
  4. # 第一种办法,URLErroe和HTTPError 
  5. def Err(): 
  6.     url = "https://segmentfault.com/zzz" 
  7.     req = request.Request(url) 
  8.  

      推荐阅读

      VAIO笔记本重返中国市场 携手京东限量发售

    【51CTO.com原创稿件】2014年2月,索尼宣布出售PC营业,JIP基金接办。新VAIO公司JIP持股95%,索尼保存5%的股份,之前引导VAIO事业部的赤羽良介将持续引导VAIO团队并入JIP,团队范围缩减至>>>详细阅读


    本文标题:python爬虫——写出最简单的网页爬虫

    地址:http://www.17bianji.com/lsqh/36627.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)