如何使用python解决网站的反爬虫
来源 :中华考试网 2020-12-30
中1、从用户请求的Headers反爬虫是最常见的反爬虫策略。
伪装header。很多网站都会对Headers的User-Agent进行检测,还有一部分网bai站会对Referer进行检测(一些资源网站的防盗链就是检测Referer)。如果遇到了这类反爬虫机制,可以直接在爬虫中添加Headers,将浏览器的User-Agent复制到爬虫的Headers中;或者将Referer值修改为目标网站域名[评论:往往容易被忽略,通过对请求的抓包分析,确定referer,在程序中模拟访问请求头中添加]。对于检测Headers的反爬虫,在爬虫中修改或者添加Headers就能很好的绕过。
2、基于用户行为反爬虫
还有一部分网站是通过检测用户行为,例如同一IP短时间内多次访问同一页面,或者同一账户短时间内多次进行相同操作。[这种防爬,需要有足够多的ip来应对]
(1)、大多数网站都是前一种情况,对于这种情况,使用IP代理就可以解决。可以专门写一个爬虫,爬取网上公开的代理ip,检测后全部保存起来。有了大量代理ip后可以每请求几次更换一个ip,这在requests或者urllib中很容易做到,这样就能很容易的绕过第一种反爬虫。
三、正常的时间访问路径
合理控制采集速度,是Python爬虫不应该破坏的规则,尽量为每个页面访问时间增加一点儿间隔,可以有效帮助你避免反爬虫。
四、使用https
对于分布式爬虫和已经遭遇反爬虫的人来说,使用https将成为你的首选。