大数据公司在做数据分析的时候,对目标网站频繁访问很容易触发网站的反爬机制,因此如果想要突破限制只能使用动态ip频繁切换地址模拟真实客户访问网站才能起到防封效果。比如在做数据抓取的时候报错403等限制访问,大概率是因为ip被限。本文总结了一下有关爬虫防止被封ip的一些技巧供大家产考。
第一步:设置等待时间
我们常用有两种方法设置等待时间,一种是显性等待时间(强制停几秒)也就是所谓的等待间隔,一种是隐性等待时间(看具体情况,比如根据目标网站加载完成需要时间而等待)图1是显性等待时间设置,图2是隐性。
第二步:修改请求头
User-Agent他能识别你是机器人还是人类来浏览网站,例如人类用浏览器浏览就会使这个样子的User-Agent:‘Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/45.0.2454.101 Safari/537.36’
第三步:采用动态ip/建ip池
如下图代码。利用动态地址,可以有效的保障爬虫时候不会被封,让爬虫程序一直稳定运行。图1为使用动态ip的情况,图2是建ip池的代码,有没有必要需要ip池的,主要看自己项目需求,需求量大,是必须要使用大量ip的。
如果把上面三种步骤做好,想要让爬虫顺利爬取也不再是难事。
标签:Python,ip,爬虫,Agent,网站,等待时间,动态 From: https://blog.51cto.com/u_13488918/5743347