博客
关于我
[851]反反爬--如何巧过CloudFlare 5秒盾
阅读量:649 次
发布时间:2019-03-13

本文共 981 字,大约阅读时间需要 3 分钟。

修复Cloudflare的5秒防护机制,如何无感抓取Cloundflare加速的网站

当我们试图通过爬虫抓取使用Cloudflare加速的网站时,往往会遇到一个固有的阻碍——5秒的响应等待提示。深入分析该机制工作原理,便能找到绕过防护的有效方法。

在第一个访问请求中,浏览器会执行三个关键操作:

  • 写入__cfduid cookie字段,该字段用于跟踪用户唯一性,这是为了确认用户是否为人类。
  • 发送加密参数请求,并将cf_clearance cookie字段写入。
  • 使用前面写入的cookie字段访问网站主页,获取实际内容。
  • 这些操作说明,Cloudflare通过三步验证来识别异常请求。一旦检测到IP地址异常活跃,Cloudflare就会暂停响应并向用户显示5秒等待提示。

    通过正规方法实现抓取,虽然可行,但缺乏"巧"妙之处:

  • 使用浏览器模拟工具(如Selenium/PhantomJS)进行请求
  • 使用请求库模拟完整抓取过程
  • 这些方法虽可行,但显得平淡无奇。为此,我们开发了一款专门针对Cloudflare防护机制的Python库cloudflare-scrape。该库旨在无感化绕过Cloudflare的防护机制,实现无感爬取。

    云扫 serpent 如何安装使用:

    {"安装说明": "通过pip安装,需确保本地安装node.js开发环境。安装指令如下:","code": "pip install cfscrape\n"}{"使用实例": "以下是针对不同请求类型的实现示例"}{"get请求示例": "import cfscrape\n\nscraper = cfscrape.create_scraper(delay=10) #延迟10秒\nweb_data = scraper.get('目标URL').content\nprint(web_data)\n"}{"post请求示例": "import cfscrape\ncrawler = cfscrape.create_scraper()\nresponse = crawler.post('目标URL', data={"参数": "值"}).content\nprint(response)\n"}

    通过云扫 serpent,实现对Cloudflare网站的无感抓取,只需三行代码即可轻松完成。

    转载地址:http://bmxaz.baihongyu.com/

    你可能感兴趣的文章
    Objective-C实现以递归的形式MatrixExponentiation矩阵求幂算法 (附完整源码)
    查看>>
    Objective-C实现优先级调度算法(附完整源码)
    查看>>
    Objective-C实现优先队列算法(附完整源码)
    查看>>
    Objective-C实现伽玛Gamma函数(附完整源码)
    查看>>
    Objective-C实现位置型pid算法(附完整源码)
    查看>>
    Objective-C实现低通滤波器(附完整源码)
    查看>>
    Objective-C实现余数定理算法(附完整源码)
    查看>>
    Objective-C实现使用 ziggurat() 作为 OpenMP 并行程序中的随机数生成器 (RNG)(附完整源码)
    查看>>
    Objective-C实现使用DisjointSet 检测无向循环算法(附完整源码)
    查看>>
    Objective-C实现使用数组实现约瑟夫环(附完整源码)
    查看>>
    Objective-C实现使用管道重定向进程输入输出(附完整源码)
    查看>>
    Objective-C实现倒计时(附完整源码)
    查看>>
    Objective-C实现借记款项功能(附完整源码)
    查看>>
    Objective-C实现八进制转十进制算法(附完整源码)
    查看>>
    Objective-C实现关系矩阵A和B的乘积(附完整源码)
    查看>>
    Objective-C实现关系矩阵乘法(附完整源码)
    查看>>
    Objective-C实现关系矩阵乘法(附完整源码)
    查看>>
    Objective-C实现关键字移位字母表密码算法(附完整源码)
    查看>>
    Objective-C实现内存映射文件(附完整源码)
    查看>>
    Objective-C实现内存泄露检查(附完整源码)
    查看>>