解网站的反爬虫策略以及爬虫的应对

jj 2023-07-26

自从有了互联网网络,就出现了爬虫和反爬虫。越大的网站,越成熟的网站,其反爬虫机制越完善,初始的IP限制、验证码限制等限制,今天一起了解网站的反爬虫策略以及爬虫的应对。

精灵IP代理1.用户行为反爬虫

有些网站会检测用户行为,比如同一IP短时间内多次访问同一页面,或者同一账号短时间内多次做同一操作。

大部分网站是前者,使用IP代理就可以解决。我们可以将检测后的代理IP保存在一个文件中,但这种方式并不可取,代理IP失败的概率较高,所以从专门的代理IP网站实时抓取是一个不错的选择。

在第二种情况下,下一个请求可以在每次请求后几秒钟的随机时间间隔内进行。一些有逻辑漏洞的网站可以通过多次请求、注销、再次登录、继续请求等,绕过了同一账号不能在短时间内多次提出同一请求的限制。

对于cookie,检查cookie以确定用户是否是有效用户。需要登录的网站经常使用这种技术。另外,一些网站的登录会动态更新认证。登录时,随机分配认证进行登录认证_Token, authentication_令牌将与用户提交的登录名和密码一起发送回服务器。

2.动态页面的反爬虫

有时候当你抓取目标页面时,发现关键信息内容是空的,只有框架代码。这是因为网站的信息通过用户帖子的XHR动态返回内容信息。这个问题的解决方案是通过开发者工具(Fireflies, etc)分析网站流量。,找到一个单独的内容信息请求(如Json),抓取内容信息,获取所需内容。

更复杂的是动态请求的加密,参数可以 t被解析,所以它们可以 不要被抓住。在这种情况下,您可以使用机械化、SeleniumRC调用浏览器内核,就像真正的浏览器上网一样,可以最大化抓取的成功率,但效率会大打折扣。

3.防爬行通过收割台

向用户索要标题是最常见的反爬虫策略。许多网站会检测标题和用户-代理,有些网站会检测推荐人(一些资源网站的防盗链就是检测推荐人)

如果遇到这种反爬虫机制,可以直接给爬虫添加头,并添加浏览器的用户-代理被复制到爬虫的头部。或将Referer值修改为目标网站的域名。对于检测标题的反爬虫,可以通过在爬虫中修改或添加标题来绕过它。

4.限制一些IP访问

很多网站都可以获得免费的代理IP。因为爬虫可以使用这些代理IP来抓取网站,所以网站也可以使用精灵IP代理来反向限制,通过抓取这些IP并保存在服务器上来限制爬虫使用代理IP。

扫一扫,咨询微信客服