1.累计式爬虫:从开始到结束不断爬取数据,过程会进行去重操作
2.增量式爬虫:已下载网页,爬取网页变化数据,或者只爬取新生成的网页的爬虫
3.深网爬虫:不能通过静态链接获取、隐藏在搜索表单后,只有用户登录或提交数据才能获取数据的爬虫。
C:/Users/Jowell520home/AppData/Local/YNote/data/m13560452744@163.com/9aa6e623e7e0410f9f49ed38002a2c21/clipboard.png
请求方法 | GET | POST |
作用 | 用来请求资源 | 用来传输实体数据 |
传输数据大小 | 小,2M | 大 |
实体数据存放位置 | url | 请求体 |
HTTP常见请求头:
1. Host (主机和端口号)
2. Connection (链接类型)
3. Upgrade-Insecure-Requests (升级为HTTPS请求)
4.
(用户代理) 服务器能够识别客户使用的操作系统及版本、CPU 类型、浏览器及版本、浏览器渲染引擎、浏览器语言、浏览器插件等
5. Accept (传输文件类型)
6.
页面跳转处,从何处来到当前页面,可用于防爬和防盗链
7. Accept-Encoding 浏览器支持的编码类型,主要的编码格式就是压缩格式gzip compress deflate
8.
: 用于进行状态保持,通常也可用于识别用户身份
9. x-requested-with : XMLHttpRequest 是Ajax 异步请求
1.response.status_code 获取状态码
2.response.headers 获取响应头
3.response.request 获取响应对应的请求
4.response.text 获取str类型的响应,推测文本编码,可能出现乱码
5.respones.content 获取bytes类型的响应,可decode()解码获取字符串
注意点:
①请求需带上headers:模拟浏览器,获取和浏览器一致的内容
response =request.get(url,headers =headers) --------headers是一个字典形式,一般UA必带
②带参数的请求:params=params作为参数去发请求,也是一个字典形式。
③发送post请求:data =data 作为参数去发请求,也是一个字典形式
proxies = {
"http": "http://12.34.56.79:9527",
"https": "https://12.34.56.79:9527",
}
requests.get(url, proxies=proxies)
reqeusts.utils.dict_from_cookiejar 把cookiejar对象转化为字典格式的cookies
requests.utils.cookiejar_from_dict 把字典格式的cookies转换成cookiejar对象
使用场景:Requests 可以为 HTTPS 请求验证 SSL 证书,就像 web 浏览器一样。SSL 验证默认是开启的,如果证书验证失败,Requests 会抛出 SSLError
使用方式: response = requests.get("https://www.12306.cn/mormhweb/ ", verify=False)
使用场景:有些站点或者代理反应慢,严重降低效率,这个时候可以设置超时
使用方式:response = requests.get(url,timeout=10)
更多技术资讯可关注:gzitcast