在使用爬虫的过程中,这些情况你是否遇到过?
没采多久就采集不到数据了
采集了好半天,最后发现采集的内容与网页中的内容不一致
刚开始采集的好好的,再往后采集的数据有字段竟然是空的
这些情况都是由于采集的网站有反爬策略导致的。
l 网站反爬原理
网站反爬,其原理是服务器通过访问者请求中夹带的一些访问者的信息,来识别访问者,并对访问者进行限制。
比如服务器通过请求识别到访问者IP,对同一个IP访问频率做出了限制,那么当同一个IP访问频率超过限制时,访问就会出现问题。
l 常见的网站反爬策略
1.仅限制用户IP访问频率
限制IP访问频率通常表现为:当使用本地IP采集速度高于某频率时,就会出现采集错误,页面重定向等情况。当访问者IP信息存储在cookie中时,会增加爬虫难度。
2.限制用户ID访问频率
限制用户ID通常表现为:采集一段时间后,停止采集/采集错误,浏览器中该页面显示不出来(页面重定向、有验证码、错误页面等情况),清空浏览器浏览记录后,再次打开又可以正常显示。
这时可以看页面的cookie来确认服务器是否限制用户ID,当访问页面的cookie中有UID或其他ID字符串时,表示服务器对用户ID有识别。还有一种对UID加密的情况,这是cookie中有一串加密后的字符串。
3.用户IP访问频率用户ID访问频率双重限定
双重限制通常表现为:采集一段时间后,停止采集/采集错误,浏览器中该页面显示不出来(页面重定向、有验证码、错误页面等情况),清空浏览器浏览记录后,再次打开又可以正常显示。爬虫设置为多通道采集后采集一段时间发现IP被封了。也可通过观察页面cookie中是否既有IP又有UID/UID加密的信息,来进行判断。
l 爬虫高能反爬机制
前嗅ForeSpider数据采集引擎根据网站常见的几种反爬策略,研发了对应解决的设置,用户在使用过程中可以针对不同反爬,进行对应的设置。
1.爬虫接入代理IP
前嗅ForeSpider数据采集系统,可接入第三方动静态代理IP,支持全网几乎所有代理IP运营商。接入后可进行连接测试,设置通道采集,模拟多个通道进行采集的过程,可设置全局代理IP,还可进行动态IP锁定,真实模拟IP获取数据的过程。
设置介绍:
①接入动静态代理IP
可接入第三方代理IP,动态和静态均可。
②代理IP测试
接入第三方代理IP后,可测试其有效性。
③代理IP优化
优化无效代理,优化响应过慢代理。
④多通道采集
多线程采集时,真实模拟多个通道进行采集的过程。
⑤动态IP锁定
将动态IP与运行时获取一条数据的一组请求锁定,更真实的模拟IP获取数据的过程。
⑥全局代理IP设置
设置全局代理IP,全局均能使用代理IP。
2.模拟用户浏览行为
前嗅ForeSpider数据采集系统,可以智能模拟浏览器和用户行为,突破反爬虫限制。用户可通过浏览器模拟人工采集设置、调节采集速度、设定定时采集策略、代理IP设置等设置,智能模拟用户浏览行为,有效预防网站反爬,降低被识别风险与频率,高效采集网页数据。
设置介绍:
①智能模拟浏览器和用户行为,突破反爬虫限制。
②自动抓取网页的各类参数和下载过程的各类参数。
③支持动态 IP 代理加速,智能过滤无效 IP 代理,提升代理的利用效率和采集质量。
④支持动态调整数据抓取策略,多种策略让您的数据无需重采,不再担心漏采,数据采集更智能。
⑤自动定时采集
⑥设置模拟浏览器版本,或进行自定义。还可以模拟国家地区的默认语言。
3.伪装网络延迟超时策略
前嗅ForeSpider采集器,可设置网络延时超时策略,模拟人工加载请求,避免因加载时间过长、加载太慢而导致的数据获取失败的情况,提高数据采集成功率,高效采集。
设置介绍:
网络超时包括接收超时、发送超时、重试次数。下图所示表示接收超时60秒以内,发送超时低于8s的均可一直加载,如果失败,可重试5次。当采集出现网络错误的提示时,可以将接收超时设置的更长一些。
适用场景:
适用于网络不稳定、访问目标网站服务器不稳定等原因导致的发送请求超时、接收请求时间长的情况下,进行数据采集。设置高的超时上限和重试次数,可避免因此而采集失败的情况,提高采集效率。
4.识别反爬自动预警
ForeSpider爬虫软件自带反爬预警功能,在爬虫采集过程中,遇到网络异常、网站反爬等情况,可以对应做出预警反应如:暂停采集、休眠等反应,并及时做出预警提醒,缩短错误发现周期,防止恶意封堵。有效避免由于网站反爬导致的数据采集不全、采集无用数据、采集空数据的情况,避免重复采集。可以大幅提高无人化数据运维水平,减少网络带宽和代理IP的浪费,及时监测到由于反爬带来的网络异常状况。
设置介绍:
预警设置:运行时遇到因网络异常而导致的请求失败,系统会自动预警。可再次设置网络异常次数、反爬识别次数、预警操作和预警提醒方式。
①网络异常
可以设置网络异常连续多少次,则进行预警提醒。
②反爬识别
可以设置疑似被反爬了多少次,则进行预警提醒。
③预警操作
设置当出现预警时,软件会进行什么操作。
A.无:软件仍然照常操作。
B.暂停:软件暂停,等待处理。
C.自动休眠:预留。
D.自动更换代理:预留。
④预警提醒
A.不提醒:不进行提醒。
B.图标闪烁:软件任务栏的图标闪烁。
C.弹窗等待:软件弹出弹窗,等待人工处理。
5.伪造Cookie迷惑服务器
前嗅ForeSpider数据爬取软件可采集需要Cookie的网站数据,可自动生成cookie,也可手动添加cookie,获取数据。
概念介绍:
Cookie:Cookie指某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据,由卢·蒙特利于1993年3月发明。Cookie基于 Inte.NET的各种服务系统应运而生,是由 Web 服务器保存在用户浏览器上的小文本文件,它可以包含有关用户的信息,是用户获取、交流、传递信息的主要场所之一。
设置介绍:
Cookie设置:采集需要Cookie的网站数据时,软件可以自动生成网站需要的Cookie,即可获取到该页面数据。
好了,看到这里,大家是不是有些跃跃欲试了,那就赶紧行动起来吧。如果在操作过程中遇到问题,可以随时联系前嗅技术老师进行咨询。
l 前嗅简介
前嗅大数据,国内领先的研发型大数据专家,多年来致力于为大数据技术的研究与开发,自主研发了一整套从数据采集、分析、处理、管理到应用、营销的大数据产品。前嗅致力于打造国内第一家深度大数据平台!