前言:
mooc上嵩天老师提供了容易上手的网络爬虫视频教程。
笔记内容:
requests库 #requests官网详细的介绍
time库
BeautifulSoup库
扩展阅读:关于反爬虫,看这一篇就够了
1、requests库方法
网络资源就像是一个黑盒,通过其接口(url),可以获取网络资源(jpg,txt,gif,flash等)
requests库有一套完整的方法:
其中requests.requset()是基础的方法,可以用此方法构造替代下面的get等具体的方法。但推荐使用get,head等单独的方法。
requests.request() #构造一个请求,支撑以下各种方法的使用 requests.get() #获取html网页 requests.head()#获取html网页头信息 requests.post()#向html网页提交post请求 requests.put()#向html网页提交put请求 requests.patch()#向html网页提交局部修改请求 requests.delete()#向html网页提交删除请求 requests.options()
例子:
import requests #导入requests库 url=http://www.baidu.com r=requests.get(url) #获取url的对象 print(r.status_code) #状态位200时,表示get成功,404或者其他表示失败 print(r.encoding) #-->'ISO-8859-1'根据header猜测响应内容的编码方式 print(r.apparent_encoding) #-->'utf-8'从内容中分析出的响应内容编码方式 r.encoding='utf-8' #重新定义其编码格式为utf-8 print(r.text)#打印url链接的内容
其中的,推荐使用apparent_encoding,更准确。
2.requests.get()
在get一个url时,可能会出现错误,例如网络连接失败,http异常等。
requests.ConnectionError #网络连接错误异常,如DNS查询失败、拒绝连接等 requests.HTTPError #HTTP错误异常 requests.URLRequried #url缺失异常 requests.TooManyRedirects #超过最大重定向次数,产生重定向异常 requests.ConnectTimeout #连接远程服务器超时异常 requests.Timeout #请求url超时,产生超时异常