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