• 《代理选择与反爬虫策略探究:如何优化网络爬虫效率与稳定性》


    代理IP如何选以及常见反爬策略

    为什么需要代理?

    因为有的网站会封IP,用户如果没有登录,那IP就是身份标识,如果网站发现用户行为异常就非常可能封IP

    什么是代理IP

    就是让一个人帮你转交请求,帮你转交的人对面不熟,也就难以发现频繁请求的是你

    但是要注意我们只能使用高匿代理,透明代理(转交请求同时告诉是帮谁转交的)什么的是不能用的

    如何衡量代理

    速度:加代理之后3秒钟能相应是优秀,5秒钟之内能相应是能用的

    安全:用来路不明的代理有信息安全风险

    价格:性价比需要考虑

    请求间隔:有的接口有请求间隔限制,尤其是按时收费的这种,也要考虑

    稳定性:失效时间人为设置有长时间的和短时间的,短的1到3分钟,长的几天的都有,越长的越贵,我们用短的就行

    比较常用的有芝麻代理,小象代理,快代理,站大爷等等

    爬虫选择哪种代理

    1. 高匿代理:需要代理IP池,否则太费代理,太烧钱
    2. 隧道代理
      • 短效版
      • 动态版:以IP生成cookie登录抓取数据 不能满足(IP存活时间短)
    3. 代理客户端:贵,但平均每隔代理几秒一换,比较快
      • 优点:
        • 时间恰当,以IP生成cookie登录抓取数据 也能满足

    反爬策略

    1. 封禁IP类

      • 阈值:

        • 打比方,一分钟60次,第一次封禁2分钟,然后策略改为一分钟45次
        • 打比方,一分钟60次,第二天访问同样的内容,则策略改为一分钟45次(增量爬虫,需每天爬取进行数据更新)

        总结:所以有的代理IP可以复活,代理IP池很有必要(后续会发布)

    2. 蜜罐陷阱:网页有正常用户不可访问的链接,爬虫获取并访问此链接将进入无限循环,直到程序崩溃

    3. token加密验签

    4. 检测环境变量:selenium可以检测环境变量,requests访问同样也可以检测环境变量

    爬虫策略

    1. 程序模拟抓
      • 可能涉及的问题
        • token加密验签
        • 封禁IP
        • 检测环境变量(不常见)
        • 蜜罐陷阱(不常见)
    2. selenium抓
      • 可能涉及的问题
        • 封禁IP
        • 检测环境变量(可以消除指纹)
    3. selenium被未知手段封禁,山穷水尽:ODR识别(windows鼠标模拟操作、windows鼠标模拟切换IP、windows鼠标模拟访问数据截图、ODR识别获取数据)
      • 弊端:
        • ODR识别不准,需要进行模型训练
        • 慢,识别七八秒钟
      • 适用场景:
        • 适用于只用获取一次数据的项目,不适合增量爬虫

    爬虫注意

    1. 不要过于追求爬取速度,速度过快对网站有影响,网站的反爬措施就会更新,对自己没有好处,因为增量爬虫(项目需要维护),不要多进程加协程,一般多进程或者协程即可

    更多精致内容

    在这里插入图片描述

  • 相关阅读:
    使用python中turtle的绘制简单图形
    【代码随想录】刷题Day39
    UOS安装Jenkins
    SAP 电商云 Spartacus UI Configurable Product 的页面设置
    单片机是不是嵌入式呢,老生常谈了
    程序地址空间
    盘点Spring/Boot的那些常用扩展点
    JAVA并发编程--3 理解volatile
    polarssl网址
    Java开发学习(四十六)----MyBatisPlus新增语句之id生成策略控制及其简化配置
  • 原文地址:https://blog.csdn.net/m0_74087660/article/details/140378362