版权声明:转载请附带我的链接,谢谢! https://blog.csdn.net/weixin_41950282/article/details/86099101
爬虫
第一天
1. 爬虫的用途
1.爬取数据用做网站展示
2.爬取数据用来为大数据或者人工智能服务
2. 什么是爬虫?
模拟浏览器发送请求,获取相应的数据
3. 爬虫的分类
3.1 通用爬虫
搜索引擎的爬虫,爬取整个互联网的数据
3.2 聚焦爬虫
针对特定网站专门写的抓取数据的程序
聚焦爬虫的流程
- 准备url列表
- 拿到一个url发起请求,获取响应
- 响应提取
- 提取的是数据,数据保存
- 提取的是URL,放入URL列表
rootbots协议: 网站规定搜索殷勤可以爬取的内容范围,只是道德约束
4. 爬虫程序的响应
爬虫程序的响应 以url对应的响应为准,不能以elements为准
5. 重要的请求头
- Cookie: 保存用户登录的凭证,如果要反问登录后的页面去获取数据库,必须携带Cookie
- User—Agent: 表示请求者的身份,反爬的必要手段,每次请求都必须携带
- Referer: 页面来源处
6. get和post请求的区别
- 最直观的就是语义上的区别,get用于获取数据,post用于提交数据.
- get参数有长度限制(受限于URL长度,具体的数值取决于浏览器和服务器的限制),而post无限制
- get请求,请求的数据会附加在url之后,以 ? 分割URL和传输数据,多个参数用 & 连接,而post请求会把请求的数据放置在HTTP 请求体中.
- GET的语义是请求获取指定的资源。GET方法是安全、幂等、可缓存的(除非有 Cache-ControlHeader的约束),GET方法的报文主体没有任何语义。POST的语义是根据请求负荷(报文主体)对指定的资源做出处理,具体的处理方式视资源类型而不同。POST不安全,不幂等,(大部分实现)不可缓存。为了针对其不可缓存性,有一系列的方法来进行优化,以后有机会再研究(FLAG已经立起)。还是举一个通俗栗子吧,在微博这个场景里,GET的语义会被用在「看看我的Timeline上最新的20条微博」这样的场景,而POST的语义会被用在「发微博、评论、点赞」这样的场景中。(该条转载自5的博客)
- 更多资料,请查看post请求和get请求的区别