requests库
- requests是爬虫常用模块,必须熟练掌握。
- requests的底层实现是urllib
- requests更加简单易用
- requests能够自行帮助我们解压网页内容
requests库的作用
作用:发送网络请求,返回响应数据
request常用方法
- response =requests.get(URL)
- response = requests.get(url,headers=headers)
- response = requests.get(url,headers=headers,proxies=proxy)
三个输出均是状态码
response对象方法(response = requests.get(url,headers=headers))
- response.text 返回unicode格式的数据(str),用于获取字符串,文本
- response.content 返回字节流格式的数据,用于获取的是图片,或者文件
- 二者获取的均是HTML代码
- 实际上,response.text 和response.content 返回的HTML数据一样的,只是显示不一样
- response.headers 返回响应头身份
- response.request.headers 请求头响应
解决响应代码解析问题
-
response.content.decode(‘utf-8’) 手动进行解码
-
使用时机:当对象是图片,音频或者视频等
-
response.encoding() = ‘编码’
-
使用时机:当对象是字符串或者文本
例子
ip代理设置
设置代理是反反爬的一种方法,可以避免ip被封
requests 发送post请求
数据的请求一般在XHR选项里,以下举例上次用urllib的post请求,发现只有一条内容,很容易发现。
Form Data 表单
Form Data 表单是用于对URL发起post请求时作用于响应,例如网页账号密码登录的响应,网页翻译的响应