文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

一日一技:如何捅穿Cloud Flare的5秒盾

2024-12-03 05:04

关注

经常写爬虫的同学,肯定知道 Cloud Flare 的五秒盾。当你没有使用正常的浏览器访问网站的时候,它会返回如下这段文字:

即使你把 Headers 带完整,使用代理 IP,也会被它发现。我们来看一个例子。Mountain View Whisman students sent home after children test positive for COVID-19 [1] 这篇文章,使用正常浏览器访问,效果如下图所示:

直接查看原始的网页源代码,可以看到,新闻和正文就在源代码里面,说明新闻的和正文都是后端渲染的,不是异步加载。如下图所示:

现在,我们使用 requests,带上完整的请求头来访问这个网站,效果如下图所示:

网站识别到了爬虫行为,成功把爬虫请求挡住了。很多同学在这个时候就已经束手无策了。因为这是爬虫的第一次请求就被挡住了,所以网站不是检测的 IP 或者访问频率,所以即使用代理 IP 也无济于事。而现在即使带上了完整的请求头都能被发现,那还有什么办法绕过这个检测呢?

实际上,要绕过这个5秒盾非常简单,只需要使用一个第三方库,叫做cloudscraper。我们可以使用pip来安装:

  1. python3 -m pip install cloudscraper 

安装完成以后,只需要使用3行代码就能绕过 Cloud Flare 的5秒盾:

  1. import cloudscraper 
  2. scraper = cloudscraper.create_scraper() 
  3. resp = scraper.get('目标网站').text 

我们还是以上面的网站为例:

  1. import cloudscraper 
  2. from lxml.html import fromstring 
  3.  
  4. scraper = cloudscraper.create_scraper() 
  5. resp = scraper.get('https://mv-voice.com/news/2021/05/04/mountain-view-whisman-students-sent-home-after-children-test-positive-for-covid-19').text 
  6. selector = fromstring(resp) 
  7. title = selector.xpath('//h1/text()')[0] 
  8. print(title) 

运行效果如下图所示:

破盾成功。

CloudScraper[2] 非常强大,它可以突破 Cloud Flare 免费版各个版本的五秒盾。而且它的接口和 requests 保持一致。原来用 requests 怎么写代码,现在只需要把requests.xxx改成scraper.xxx就可以了。

参考资料

[1]Mountain View Whisman students sent home after children test positive for COVID-19 : https://mv-voice.com/news/2021/05/04/mountain-view-whisman-students-sent-home-after-children-test-positive-for-covid-19

[2]CloudScraper: https://github.com/venomous/cloudscraper

本文转载自微信公众号「未闻Code」,可以通过以下二维码关注。转载本文请联系未闻Code公众号。

 

来源:未闻Code内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯