网站的防爬机制一般用这几种方法

jj 2021-11-26

了解网站的防爬机制,一般网站从以下几个方面进行反爬虫:
 

1.通过标头进行反爬网
 
向用户请求标头反爬虫是最常见的反爬虫策略。很多网站会检测到Headers的User-Agent,有些网站会检测到Referer(有些资源网站的防盗链就是检测Referer)。
 
如果遇到这种反爬虫机制,可以直接将header添加到爬虫中,将浏览器的User-Agent复制到爬虫的header中。或者将Referer值修改为目标网站的域名。对于检测标头的反爬网程序,可以通过修改或添加爬网程序中的标头来绕过它。
 
2.基于用户行为的反爬虫
 
也有一些网站检测用户行为,比如同一个IP短时间内多次访问同一个页面,或者同一个账号短时间内多次做同样的操作。
 
大多数网站都是前一种情况,可以通过使用IP代理来解决。我们可以在检测后将代理IP保存在文件中,但是这种方法并不可取,而且代理IP失败的概率很高,所以从专业代理IP网站上实时抓取是一个不错的选择。
 
在第二种情况下,下一个请求可以在每个请求之后的几秒钟的随机时间间隔内发出。一些存在逻辑漏洞的网站可以通过多次请求、注销、再次登录、继续请求等方式,绕过同一账号无法在短时间内多次提出同一请求的限制。
 
对于cookie,检查cookie以确定用户是否是有效用户。需要登录的网站经常使用这种技术。此外,一些网站的登录将被动态更新和验证。例如,用于登录验证的authentication _ token将在Tukuku登录时随机分配,authentication _ token将与用户提交的登录名和密码一起发送回服务器。
 
3.基于动态页面的反爬虫
 
有时抓取目标页面时,发现关键信息内容为空,只有框架代码。这是因为网站的信息通过用户帖子的XHR动态返回内容信息。这个问题的解决方案是通过开发者工具(FireBug等)分析网站流量。),找到单独的内容信息请求(如Json),抓取内容信息,得到需要的内容。
 
更复杂的是动态请求的加密,参数无法解析,所以无法抓取。在这种情况下,可以通过Mechanize、selenium RC调用浏览器内核,就像真正的浏览器上网一样,可以最大限度地提高爬行的成功率,但效率会大打折扣。笔者测试过,抓取拉戈30页招聘信息需要30多秒。而用模拟浏览器内核抓取则需要2-3分钟。
 
4.限制一些IP访问
 
免费代理IP可以从很多网站获得。由于爬网程序可以使用这些代理IP来爬网网站,因此网站也可以使用这些代理IP反向限制,通过爬网这些IP并将其保存在服务器上来限制爬网程序。

扫一扫,咨询微信客服