自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

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

開發(fā) 前端
經(jīng)常寫爬蟲的同學(xué),肯定知道 Cloud Flare 的五秒盾。當(dāng)你沒有使用正常的瀏覽器訪問網(wǎng)站的時候,它會返回如下這段文字。

[[399239]]

經(jīng)常寫爬蟲的同學(xué),肯定知道 Cloud Flare 的五秒盾。當(dāng)你沒有使用正常的瀏覽器訪問網(wǎng)站的時候,它會返回如下這段文字:

  • Checking your browser before accessing xxx.
  • This process is automatic. Your browser will redirect to your requested content shortly.
  • Please allow up to 5 seconds…

即使你把 Headers 帶完整,使用代理 IP,也會被它發(fā)現(xiàn)。我們來看一個例子。Mountain View Whisman students sent home after children test positive for COVID-19 [1] 這篇文章,使用正常瀏覽器訪問,效果如下圖所示:

直接查看原始的網(wǎng)頁源代碼,可以看到,新聞標(biāo)題和正文就在源代碼里面,說明新聞的標(biāo)題和正文都是后端渲染的,不是異步加載。如下圖所示:

現(xiàn)在,我們使用 requests,帶上完整的請求頭來訪問這個網(wǎng)站,效果如下圖所示:

網(wǎng)站識別到了爬蟲行為,成功把爬蟲請求擋住了。很多同學(xué)在這個時候就已經(jīng)束手無策了。因為這是爬蟲的第一次請求就被擋住了,所以網(wǎng)站不是檢測的 IP 或者訪問頻率,所以即使用代理 IP 也無濟于事。而現(xiàn)在即使帶上了完整的請求頭都能被發(fā)現(xiàn),那還有什么辦法繞過這個檢測呢?

實際上,要繞過這個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('目標(biāo)網(wǎng)站').text 

我們還是以上面的網(wǎng)站為例:

  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 怎么寫代碼,現(xiàn)在只需要把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

本文轉(zhuǎn)載自微信公眾號「未聞Code」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系未聞Code公眾號。

 

責(zé)任編輯:武曉燕 來源: 未聞Code
相關(guān)推薦

2021-10-15 21:08:31

PandasExcel對象

2022-06-28 09:31:44

LinuxmacOS系統(tǒng)

2022-03-12 20:38:14

網(wǎng)頁Python測試

2021-04-19 23:29:44

MakefilemacOSLinux

2021-04-27 22:15:02

Selenium瀏覽器爬蟲

2023-10-28 12:14:35

爬蟲JavaScriptObject

2024-07-30 08:11:16

2024-07-30 08:16:18

Python代碼工具

2024-11-11 00:38:13

Mypy靜態(tài)類型

2021-05-08 19:33:51

移除字符零寬

2022-03-07 09:14:04

Selenium鼠標(biāo)元素

2021-02-14 22:22:18

格式圖片 HTTP

2021-04-05 14:47:55

Python多線程事件監(jiān)控

2024-11-13 09:18:09

2021-04-12 21:19:01

PythonMakefile項目

2020-12-11 06:30:00

工具分組DataFrame

2023-10-29 09:16:49

代碼安全命令

2020-05-19 13:55:38

Python加密密碼

2024-02-20 22:13:48

Python項目Java

2024-08-27 22:08:13

點贊
收藏

51CTO技術(shù)棧公眾號