在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

crawlerdetect:Python 三行代碼檢測爬蟲

科技綠洲 ? 來源:Python實用寶典 ? 作者:Python實用寶典 ? 2023-11-02 11:31 ? 次閱讀

是否擔心高頻率爬蟲導致網站癱瘓?

別擔心,現在有一個Python寫的神器——crawlerdetect,幫助你檢測爬蟲,保障網站的正常運轉。

1.準備

開始之前,你要確保Python和pip已經成功安裝在電腦上噢,如果沒有,請訪問這篇文章:超詳細Python安裝指南 進行安裝。如果你用Python的目的是數據分析,可以直接安裝Anaconda:Python數據分析與挖掘好幫手—Anaconda

Windows環境下打開Cmd(開始—運行—CMD),蘋果系統環境下請打開Terminal(command+空格輸入Terminal),準備開始輸入命令安裝依賴。

當然,我更推薦大家用VSCode編輯器,把本文代碼Copy下來,在編輯器下方的終端運行命令安裝依賴模塊,多舒服的一件事啊:Python 編程的最好搭檔—VSCode 詳細指南

在終端輸入以下命令安裝我們所需要的依賴模塊:

pip install crawlerdetect

看到 Successfully installed xxx 則說明安裝成功。

2.使用方法

它可以通過user-agent、headers等請求頭識別爬蟲或機器人

因此,你可以傳遞兩種參數。第一種,使用user-agent檢測機器人:

from crawlerdetect import CrawlerDetect
crawler_detect = CrawlerDetect(user_agent='Mozilla/5.0 (iPhone; CPU iPhone OS 7_1 like Mac OS X) AppleWebKit (KHTML, like Gecko) Mobile (compatible; Yahoo Ad monitoring; https://help.yahoo.com/kb/yahoo-ad-monitoring-SLN24857.html)')
crawler_detect.isCrawler()
# 如果是機器人,這條語句返回True

第二種識別方式會用上全部headers參數,這種方式比單純用user-agent精準,因為它判斷的依據更加全面。

from crawlerdetect import CrawlerDetect
crawler_detect = CrawlerDetect(headers={'DOCUMENT_ROOT': '/home/test/public_html', 'GATEWAY_INTERFACE': 'CGI/1.1', 'HTTP_ACCEPT': '*/*', 'HTTP_ACCEPT_ENCODING': 'gzip, deflate', 'HTTP_CACHE_CONTROL': 'no-cache', 'HTTP_CONNECTION': 'Keep-Alive', 'HTTP_FROM': 'googlebot(at)googlebot.com', 'HTTP_HOST': 'www.test.com', 'HTTP_PRAGMA': 'no-cache', 'HTTP_USER_AGENT': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/28.0.1500.71 Safari/537.36', 'PATH': '/bin:/usr/bin', 'QUERY_STRING': 'order=closingDate', 'REDIRECT_STATUS': '200', 'REMOTE_ADDR': '127.0.0.1', 'REMOTE_PORT': '3360', 'REQUEST_METHOD': 'GET', 'REQUEST_URI': '/?test=testing', 'SCRIPT_FILENAME': '/home/test/public_html/index.php', 'SCRIPT_NAME': '/index.php', 'SERVER_ADDR': '127.0.0.1', 'SERVER_ADMIN': 'webmaster@test.com', 'SERVER_NAME': 'www.test.com', 'SERVER_PORT': '80', 'SERVER_PROTOCOL': 'HTTP/1.1', 'SERVER_SIGNATURE': '', 'SERVER_SOFTWARE': 'Apache', 'UNIQUE_ID': 'Vx6MENRxerBUSDEQgFLAAAAAS', 'PHP_SELF': '/index.php', 'REQUEST_TIME_FLOAT': 1461619728.0705, 'REQUEST_TIME': 1461619728})
crawler_detect.isCrawler()
# 如果是機器人,這條語句返回True

你還可以識別相應爬蟲的名字(如果有的話),通過這種方式,你能給一些著名的爬蟲(如baiduspider、googlebot)添加白名單,不進行攔截。

from crawlerdetect import CrawlerDetect
crawler_detect = CrawlerDetect()
crawler_detect.isCrawler('Mozilla/5.0 (compatible; Sosospider/2.0; +http://help.soso.com/webspider.htm)')
# 如果是機器人,這條語句返回True
crawler_detect.getMatches()
# Sosospider

有了這個工具,我們就可以實現實時的爬蟲封禁:

**1. **實時監控網站上的http請求,檢測其對應的headers.

**2. **如果識別到該請求是機器人(爬蟲)發出的,就可將其IP記錄下來。

**3. ** 將IP加入到Nginx或Apache的動態黑名單中,實現實時的爬蟲封禁。

這一套流程我還沒有試驗過,大家有興趣可以試試,理論上可行。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 代碼
    +關注

    關注

    30

    文章

    4808

    瀏覽量

    68808
  • 編輯器
    +關注

    關注

    1

    文章

    806

    瀏覽量

    31228
  • python
    +關注

    關注

    56

    文章

    4801

    瀏覽量

    84857
  • 爬蟲
    +關注

    關注

    0

    文章

    82

    瀏覽量

    6949
收藏 人收藏

    評論

    相關推薦

    Python數據爬蟲學習內容

    ,利用爬蟲,我們可以解決部分數據問題,那么,如何學習Python數據爬蟲能?1.學習Python基礎知識并實現基本的爬蟲過程一般獲取數據的過
    發表于 05-09 17:25

    請問前三行是什么意思?

    create_page_table @ 設置頁表 bl mmu_init @ 啟動MMU ldr sp, =0xB4000000 @ 重設棧指針,指向SDRAM頂端(使用虛擬地址) ldr pc, =0xB0004000 @ 跳到SDRAM中繼續執行第二部分代碼halt_loop: b halt_loop請問其中
    發表于 06-13 22:56

    請問這三行代碼是固定這樣寫的嗎?

    u8 IPRADDR=NVIC_Channel/4;//每組只能存4個,得到組地址 u8 IPROFFSET=NVIC_Channel%4;//在組內的偏移 IPROFFSET=IPROFFSET*8+4; //得到偏移的確切位置這三行代碼是固定這樣寫的嗎???????
    發表于 10-24 21:34

    0基礎入門Python爬蟲實戰課

    學習資料良莠不齊爬蟲是一門實踐性的技能,沒有實戰的課程都是騙人的!所以這節Python爬蟲實戰課,將幫到你!課程從0基礎入門開始,受眾人群廣泛:如畢業大學生、轉行人群、對Python
    發表于 07-25 09:28

    三行搞定獨立按鍵

    最近自己在做單片機的東西,準備參加比賽,偶然發現了獨立按鍵的神助攻——三行搞定獨立按鍵,看到網上很多描述的不清晰,自己又花時間整理了一下,話不多說先上代碼:void Key_Read(void
    發表于 12-07 11:05

    Python爬蟲簡介與軟件配置

    Python爬蟲練習一、爬蟲簡介1. 介紹2. 軟件配置二、爬取南陽理工OJ題目、爬取學校信息通知四、總結五、參考一、爬蟲簡介1. 介紹網
    發表于 01-11 06:32

    什么是三行按鍵?有什么用

    三行按鍵從出生到現在已經很多個年頭了,經過幾代優化,現在有兩個版本,今天分析一下,也在本論壇擴充一下資源。我在本論壇搜索三行按鍵,并沒有相關的帖子。首先說明一下什么是三行按鍵,有什么用,什么好處,以及...
    發表于 03-02 06:16

    完全自學指南Python爬蟲BeautifulSoup詳解

    完全自學指南Python爬蟲BeautifulSoup詳解
    發表于 09-07 08:55 ?39次下載
    完全自學指南<b class='flag-5'>Python</b><b class='flag-5'>爬蟲</b>BeautifulSoup詳解

    python爬蟲入門教程之python爬蟲視頻教程分布式爬蟲打造搜索引擎

    本文檔的主要內容詳細介紹的是python爬蟲入門教程之python爬蟲視頻教程分布式爬蟲打造搜索引擎
    發表于 08-28 15:32 ?29次下載

    如何實現計算機視覺的目標檢測10Python代碼幫你實現

    只需10Python代碼,我們就能實現計算機視覺中目標檢測。 沒錯,用這寥寥10代碼,就能
    的頭像 發表于 02-03 11:35 ?3066次閱讀

    python為什么叫爬蟲 python工資高還是java的高

    要寫1000代碼,java要寫100,而python則只需要寫20代碼。使用
    發表于 02-19 17:56 ?551次閱讀

    Python寫網絡爬蟲

    Python寫網絡爬蟲的方法說明。
    發表于 06-01 11:55 ?21次下載

    Sweetviz讓你三行代碼實現探索性數據分析

    Sweetviz是一個開源Python庫,它只需三行代碼就可以生成漂亮的高精度可視化效果來啟動EDA(探索性數據分析)。輸出一個HTML。 如上圖所示,它不僅能根據性別、年齡等不同欄目縱向分析數據
    的頭像 發表于 10-17 10:59 ?475次閱讀
    Sweetviz讓你<b class='flag-5'>三行</b><b class='flag-5'>代碼</b>實現探索性數據分析

    來看看他們用代碼寫的“三行詩”

    往期精選 原文標題:來看看他們用代碼寫的“三行詩” 文章出處:【微信公眾號:宏景智駕】歡迎添加關注!文章轉載請注明出處。
    的頭像 發表于 10-25 15:55 ?419次閱讀
    來看看他們用<b class='flag-5'>代碼</b>寫的“<b class='flag-5'>三行</b>詩”

    Sweetviz: 讓你三行代碼實現探索性數據分析

    Sweetviz是一個開源Python庫,它只需三行代碼就可以生成漂亮的高精度可視化效果來啟動EDA(探索性數據分析)。輸出一個HTML。 它不僅能根據性別、年齡等不同欄目縱向分析數據,還能對每個
    的頭像 發表于 10-31 10:28 ?954次閱讀
    Sweetviz: 讓你<b class='flag-5'>三行</b><b class='flag-5'>代碼</b>實現探索性數據分析
    主站蜘蛛池模板: 伊人色婷婷综在合线亚洲| 都市激情综合网| 亚洲精品456人成在线| 曰本黄色一级| 五月婷婷七月丁香| 特黄特色大片免费视频播放| 四虎www成人影院免费观看| 日本在线视频二区| 美女无遮挡拍拍拍免费视频| 在线天堂bt中文www在线| 午夜免费福利片观看| 日韩成人午夜| 天堂免费在线视频| 色老头综合免费视频| 免费看一级毛片| 国产高清免费| 午夜日批| xxxxxxxxx18免费视频| 包你爽综合网| 曰本性l交片视频视频| 四虎国产精品影库永久免费| 欧美成人午夜| 大尺度视频在线| 视频在线观看免费播放www| 性猛交毛片| 国产黄色a三级三级三级| 天堂资源在线www中文| 老逼影院| 亚洲va国产日韩欧美精品色婷婷| ww欧洲ww欧洲视频| 国产精品欧美一区二区三区| 99久久综合狠狠综合久久男同| 手机在线视频观看| 欧美猛交xxxx免费看| 欧美成人区| 高h文男主又粗又狠| 色性网| 国内a级毛片免费···| 韩国三级日本三级在线观看| 午夜影院免费版| 黄色在线播放视频|