Python网页爬取的通用代码框架
Goals:
有效处理和避免访问和爬取网页过程中可能出现的错误
Details:
import requests def getHTMLText(url) try: r = requests.get(url,timeout=30) r.raise_for_status() #如果状态码不是200,将引发HTTPError异常 r.encoding = r.apparent_encoding return r.text expect: return "产生异常" if _name_ =="_main_" url = "http://www.baidu.com" print(getHTMLText(url))
*说明:这样的网页爬取的通用代码可以提高访问和爬取的效率
More:
Requests库的异常类型requests.ConnectionError | 网络连接错误异常,如DNS查询失败等 |
requests.HTTPError | HTTP错误异常 |
requests.URLRequired | URL缺失异常 |
requests.TooManyRedirects | 超过最大重定向次数,重定向异常 |
requests.ConnectionTimeout | 连接远程服务器超时异常 |
requests.Timeout | 请求URL超时,产生超时错误 |
r.raise_for_status | 判断状态码,如果状态码不是200,就会产生requests.HTTPError异常 |
还没有评论,来说两句吧...