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

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

更多精致内容

相关推荐
威联通网络存储17 分钟前
某高端显示面板制造企业:基于威联通 TS-h2490FU 的 AOI 检测数据治理实践
python·制造
FreakStudio4 小时前
不用装软件!这款MicroPython浏览器 IDE :让你在手机上也能调试树莓派 Pico
python·单片机·嵌入式·电子diy·tinyml
m0_743470375 小时前
使用Python进行PDF文件的处理与操作
jvm·数据库·python
数据科学小丫7 小时前
Python 数据存储操作_数据存储、补充知识点:Python 与 MySQL交互
数据库·python·mysql
Knight_AL7 小时前
Nacos 启动问题 Failed to create database ’D:\nacos\nacos\data\derby-data’
开发语言·数据库·python
查古穆8 小时前
python进阶-Pydantic模型
开发语言·python
佳木逢钺8 小时前
PyQt界面美化系统高级工具库:打造现代化桌面应用的完整指南
python·pyqt
工頁光軍9 小时前
基于Python的Milvus完整使用案例
开发语言·python·milvus
Csvn9 小时前
特殊方法与运算符重载
python
xht08329 小时前
PHP vs Python:编程语言终极对决
开发语言·python·php