首页 > 编程语言 >Python爬虫抓取数据时怎么防止ip被封

Python爬虫抓取数据时怎么防止ip被封

时间:2022-10-10 14:35:18浏览次数:58  
标签:Python ip 爬虫 Agent 网站 等待时间 动态

大数据公司在做数据分析的时候,对目标网站频繁访问很容易触发网站的反爬机制,因此如果想要突破限制只能使用动态ip频繁切换地址模拟真实客户访问网站才能起到防封效果。比如在做数据抓取的时候报错403等限制访问,大概率是因为ip被限。本文总结了一下有关爬虫防止被封ip的一些技巧供大家产考。

第一步:设置等待时间

我们常用有两种方法设置等待时间,一种是显性等待时间(强制停几秒)也就是所谓的等待间隔,一种是隐性等待时间(看具体情况,比如根据目标网站加载完成需要时间而等待)图1是显性等待时间设置,图2是隐性。

Python爬虫抓取数据时怎么防止ip被封_safari

Python爬虫抓取数据时怎么防止ip被封_safari_02

第二步:修改请求头

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’

Python爬虫抓取数据时怎么防止ip被封_chrome_03

第三步:采用动态ip/建ip池

如下图代码。利用动态地址,可以有效的保障爬虫时候不会被封,让爬虫程序一直稳定运行。图1为使用动态ip的情况,图2是建ip池的代码,有没有必要需要ip池的,主要看自己项目需求,需求量大,是必须要使用大量ip的。

Python爬虫抓取数据时怎么防止ip被封_等待时间_04

如果把上面三种步骤做好,想要让爬虫顺利爬取也不再是难事。

标签:Python,ip,爬虫,Agent,网站,等待时间,动态
From: https://blog.51cto.com/u_13488918/5743347

相关文章

  • go查看某段ip是否通的脚本
    go查看某段ip是否通的脚本例1:packagemainimport("fmt""golang.org/x/text/encoding/simplifiedchinese""os/exec""strings""sync")funcping......
  • [Typescript] Tips: DeepPartial
    DeeppartialsareSUPERusefulandnotnativelysupportedbyTypeScript.Here,Iuseonetohelpwithmockinganentityina(imaginary)testfile. typeDee......
  • 记一次win10 python -m http.server 启动后无法访问的经历
    前言最近需要在win10上使用python创建一个http文件服务(默认端口8000),结果执行了python3-mhttp.server-b0.0.0.0后,发现服务跑起来了,但浏览器无法访问http://loc......
  • 【Python秒杀脚本】淘宝或京东等秒杀抢购
    我们的目标是秒杀淘宝或京东等的订单,这里面有几个关键点,首先需要登录淘宝或京东,其次你需要准备好订单,最后要在指定时间快速提交订单。 这里就要用到一个爬虫利器Seleniu......
  • ZR NOIP二十连测
    Day1匹配把命题加强一下,那么就是\(n\)个数里面选\(n/2\)个正的,\(n/2\)个负的,求最大值,排序后贪心即可。狼人一个暴力\(\mathcalO(n^3)\)做法是对每一种颜色\(......
  • javascrip的日期
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content......
  • yolov5部署到iPhone或终端实践全过程(论文源码福利)
    计算机视觉研究院专栏作者:Edison_G期待已久的检测经典又来来了一波强袭——yolov5。其实yolov5没有完整的文件,现在最重要的应该是把yolov4弄清楚,在目标检测领域中受益匪浅,可......
  • Eclipse将Maven项目打成jar包以及java用命令运行jar包指定类下的main方法
    Eclipse将项目打包成jar参考:https://javaforall.cn/151764.html      https://blog.csdn.net/xiaofengfeng_24/article/details/1252642531:在eclipse中选中项......
  • python将print的数据输出到txt文件中
    前言:在写一些小的测试脚本时,需要查看一些日志,我们不会去搭建一个logger工具;而是选择直接输出到txt文件中,测试完后,也方便查看结果。在需要输出打印前面,打开txt文件,以追加的......
  • ETCD 未授权访问漏洞-添加iptables规则修复方法
    ⻛险提⽰1.在iptables规则配置正确的情况下,可以规避未认证的漏洞;2.如变更过程中误操作限制了其他端⼝的情况下可能会造成存储异常;影响版本所有版本问题描述:客⼾采......