面对python反爬虫如何进行ip切换?
来源 :中华考试网 2020-11-24
中在面对网页的阻拦后,如果我们想继续收集一些数据的话,比较常见的办法是改变我们请求访问的地址,这就涉及到了地址的切换。对于刚入门的python新手来说,如何切换ip有一 定的难度,毕竟很多人都没有学习中都没有尝试过。所以小编整理了有关面对python反爬虫的切换方法,具体内容在接下来的内容中进行展示,想要学习的小伙伴可以跟着一起看看。
调试开多少个线程,多长时间拨号切换IP一次最优。每个网站对短时间内访问次数的屏蔽策略不一样,这需要实际测试,找出抓取效率最大化的时间点。先开一个线程,一直抓取到IP被屏蔽,记录下抓取耗时,总抓取次数,和成功抓取次数。 再开2个线程,重复上面步骤,记录抓取耗时,总的和成功的抓取次数。再开4个线程,重复上面步骤。整理成一个表格如下,下图是我抓天眼查时,统计抓取极限和细节调优的表格
从上图比较可以看出,当有6个线程时,是比较好的情况。耗时6秒,成功抓取80-110次。
开多少个线程调试出来了,那多久拨号一次呢?
python课程免费试听预约
- 地区:
- 北京
- 天津
- 上海
- 江苏
- 浙江
- 山东
- 江西
- 安徽
- 广东
- 广西
- 海南
- 辽宁
- 吉林
- 黑龙江
- 内蒙古
- 山西
- 福建
- 河南
- 河北
- 湖南
- 湖北
- 四川
- 重庆
- 云南
- 贵州
- 新疆
- 西藏
- 陕西
- 青海
- 宁夏
- 甘肃
- 姓名:
- 手机:
从上面的图片看到,貌似每隔6秒拨号是一个不错的选择。可以这样做,但是我选了另一个度量单位,就是每总抓取120次就重新拨号。为什么这样选呢?从上图也能看到,基本抓到120次左右就会被屏蔽,每隔6秒拨号其实误差比较大,因为网络延迟等各种问题,导致6秒内可能抓100次,也可能抓120次。