活动地址:CSDN21天学习挑战赛
requests是一个http模块,该模块主要用于发送请求获取响应,该模块有很多的替代模块,比如说urlib模块,但是在工作中用的最多的还是requests一模块,requests的代码简洁易懂,相对于臃肿的urlib模块,使用requests编写的爬虫代码将会更少,而且实现某-功能将会简单。
- 安装requests,输入对应的pip命令:
pip install requests- 常用属性或方法
- response.text和response.content的区别:
response.text :
·类型:str
·解码类型: requests模块自动根据HTTP头部对响应的编码作出有根据的推测,推测的文本编码
response.content :
·类型: bytes
·解码类型:没有指定,执行挑选
通过对response.content进行decode,来解决中文乱码:
response.content.decode(): 默认utf-8
response.content.decode( 'GBK ')
常见的编码字符集
·utf-8
·gbkgb2312
·asci(读音:阿斯克码)
·iso-8859-1- 超时参数timeout的使用
在平时网上冲浪的过程中,我们经常会遇到网络波动,这个时候,一个请求等了很久可能任然没有结果。在爬虫中,一个请求很久没有结果,就会让整个项目的效率变得非常低,这个时候我们就需要对请求进行强制要求,让他必须在特定的时间内返回结果,否则就报错。
超时参数timeout的使用方法:response = requests.get(ur1, timeout=3)
timeout=3表示:发送请求后,3秒钟内返回响应,否则就抛出异常- proxies代理参数的使用
为了让服务器以为不是同一个客户端在请求;为了防止频繁向一个域名发送请求被封ip,所以我们需要使用代理ip。
注意:如果proxies字典中包含有多个键值对,发送请求时将按照ur地址的协议来选择使用相应的代理ip。