博客
关于我
[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/

    你可能感兴趣的文章
    No 'Access-Control-Allow-Origin' header is present on the requested resource.
    查看>>
    No Datastore Session bound to thread, and configuration does not allow creation of non-transactional
    查看>>
    No fallbackFactory instance of type class com.ruoyi---SpringCloud Alibaba_若依微服务框架改造---工作笔记005
    查看>>
    No Feign Client for loadBalancing defined. Did you forget to include spring-cloud-starter-loadbalanc
    查看>>
    No module named cv2
    查看>>
    No module named tensorboard.main在安装tensorboardX的时候遇到的问题
    查看>>
    No module named ‘MySQLdb‘错误解决No module named ‘MySQLdb‘错误解决
    查看>>
    No new migrations found. Your system is up-to-date.
    查看>>
    No qualifying bean of type XXX found for dependency XXX.
    查看>>
    No resource identifier found for attribute 'srcCompat' in package的解决办法
    查看>>
    No toolchains found in the NDK toolchains folder for ABI with prefix: mips64el-linux-android
    查看>>
    NO.23 ZenTaoPHP目录结构
    查看>>
    NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata
    查看>>
    Node JS: < 一> 初识Node JS
    查看>>
    Node-RED中使用JSON数据建立web网站
    查看>>
    Node-RED中使用node-red-browser-utils节点实现选择Windows操作系统中的文件并实现图片预览
    查看>>
    Node-RED中实现HTML表单提交和获取提交的内容
    查看>>
    Node.js 实现类似于.php,.jsp的服务器页面技术,自动路由
    查看>>
    node.js 怎么新建一个站点端口
    查看>>
    Node.js 文件系统的各种用法和常见场景
    查看>>