请求方式:
1.get特点:查询参数在url地址中显示
2.post:
在Request方法中添加data参数urllib.request.Request(url,data=data,headers=headers)
data:表单数据以bytes类型提交,不能是str
用urllib发送post请求制作一个有道小翻译
用request模块发送post请求制作一个有道小翻译
requests模块
换源安装requests
pip install requests -i https://pypi.douban.com/simple
requests常用方法:requests.get(url) 发起请求
requests响应对象(reponse)的方法
1.response.text 返回unicode格式的数据(str)
2.response.content返回字节流(二进制编码)(是直接从网站上抓取的数据,没有做任何处理的编码)
3.response.text就是request模块把response.content进行解码得到的字符串, request模块它会随机猜选一种解码方式,所以reponse.text可能会出现乱码
4.response.encoding='utf-8‘ response.text就很稳定,不会出现乱码
5.response.content.decode(‘utf-8’)手动解码,比较文档,不会出现乱码
设置代理ip
解决什么问题?解决的是一种封ip的反爬机制
设置代理 代理服务的ip
代理ip的作用
1.隐藏真实的ip
2.反反爬
如何去找代理ip?
1.免费的ip(几乎用不了)
2.付费的ip(快代理)
匿名度:
1.透明:它知道你真实的ip,也知道你使用了代理ip
2.匿名:它知道你使用了代理ip,但不知道你真实的ip
3.高匿:不知道你使用了代理ip,也不知道你真实的ip
httpbing.org/ip (能返回ip地址)
使用proxy设置代理ip
proxy = {‘类型’:‘代理ip地址:端口号’}
cookie
cookie在爬虫当中有什么作用?
1.反反爬
2.摹拟登录
模拟登录人人网
反反爬
遇到ajax加载的数据或动态网页的数据(数据不在源码中)
解决方式一:可以在Network中分析它的数据接口(分析12306案例)headers={‘user-agent’:’’,‘cookie’:’’}
解决方式二:可以通过selenium来获取数据
处理不被信任的SSL证书
SSL证书,是数字证书的一种,遵守的是SSL协议
res.get(url,verify=False)可以爬取不被信任网址的信息