认识了解爬虫

百度百科的定义:  爬虫是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。

网站一般肯定都不喜欢让你爬取。

  反爬机制:对应的载体是网站,防止爬虫爬取数据。

  反反爬策略:对应的载体是爬虫程序

常见的反爬机制及应对策略:

    1.校验Headers,查看请求头,是浏览器还是机器,以及对Referer (上级链接)进行检测。(针对策略:对请求头信息进行伪装,封装到requests请求头中)

    2.IP限制,限制一个ip地址,短时高频的请求。(针对策略:使用代理IP,更换IP地址。注意ip代理的匿名程度)

    3. UA 限制,校验请求头中User-Agent参数。(针对策略:伪装一下)

    4.验证码反爬虫或者模拟登陆,通过校验验证码以及用户是否登陆。(针对策略:可使用第三方验证码识别平台识别验证码,使用requests的Session功能,记录cookie,模拟登陆)

    5.数据动态加载,把展示数据通过ajax动态请求添加到页面中,防止爬虫程序直接获取。(针对策略:通过抓包工具,网页检查等,对请求url识别和处理,从而获得响应数据)

    6.cookie限制,通过校验cookie进行识别爬虫还是浏览器。(针对策略:cookie不常变化的可以手动在请求头中添加cookie参数,cookie经常变化的可以使用Session的对象去发请求,过于麻烦的情况可以使用selenium模块,完全模拟浏览器行为)

扫描二维码关注公众号,回复: 6684446 查看本文章

  

爬虫的分类:
1.通用爬虫:抓取一整张页面源码内容
2.聚焦爬虫:抓取页面中局部的内容
3.增量式爬虫:可以监测网站数据更新的情况,抓取网站中最新更新出来的数据
爬虫的合法性:
  1.干扰了被访问网站的正常运营
  2.抓取了收到法律保护的特定类型的数据或信息
规避违法风险:
  遵守robots协议
  优化程序,避免敏感数据
  使用传播抓取到的信息时,注意个人隐私等敏感信息.
网站的robots协议:
  网站告诉爬虫可以爬取的数据路径。(一般在网站url后直接添加robots.txt查看)
  robots协议防君子不防小人,并不能够真正的去防止爬虫程序
 
 

猜你喜欢

转载自www.cnblogs.com/NoteBook3013/p/11108966.html