chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

crawlerdetect:Python 三行代碼檢測爬蟲

科技綠洲 ? 來源:Python實(shí)用寶典 ? 作者:Python實(shí)用寶典 ? 2023-11-02 11:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

是否擔(dān)心高頻率爬蟲導(dǎo)致網(wǎng)站癱瘓?

別擔(dān)心,現(xiàn)在有一個(gè)Python寫的神器——crawlerdetect,幫助你檢測爬蟲,保障網(wǎng)站的正常運(yùn)轉(zhuǎn)。

1.準(zhǔn)備

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

Windows環(huán)境下打開Cmd(開始—運(yùn)行—CMD),蘋果系統(tǒng)環(huán)境下請打開Terminal(command+空格輸入Terminal),準(zhǔn)備開始輸入命令安裝依賴。

當(dāng)然,我更推薦大家用VSCode編輯器,把本文代碼Copy下來,在編輯器下方的終端運(yùn)行命令安裝依賴模塊,多舒服的一件事?。?a href="http://www.brongaenegriffin.com/outside?redirect=http://mp.weixin.qq.com/s?__biz=MzI3MzM0ODU4Mg==&mid=2247485849&idx=1&sn=ec098cf67a55bd1d61d4513397434c94&chksm=eb25eb10dc52620682db716d206c18b00bd53c01743729a9dea381e1791566a04a06f1fabca5&scene=21#wechat_redirect" target="_blank">Python 編程的最好搭檔—VSCode 詳細(xì)指南。

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

pip install crawlerdetect

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

2.使用方法

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

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

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()
# 如果是機(jī)器人,這條語句返回True

第二種識別方式會用上全部headers參數(shù),這種方式比單純用user-agent精準(zhǔn),因?yàn)樗袛嗟囊罁?jù)更加全面。

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()
# 如果是機(jī)器人,這條語句返回True

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

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

有了這個(gè)工具,我們就可以實(shí)現(xiàn)實(shí)時(shí)的爬蟲封禁:

**1. **實(shí)時(shí)監(jiān)控網(wǎng)站上的http請求,檢測其對應(yīng)的headers.

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

**3. ** 將IP加入到Nginx或Apache的動(dòng)態(tài)黑名單中,實(shí)現(xiàn)實(shí)時(shí)的爬蟲封禁。

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • 代碼
    +關(guān)注

    關(guān)注

    30

    文章

    4900

    瀏覽量

    70771
  • 編輯器
    +關(guān)注

    關(guān)注

    1

    文章

    822

    瀏覽量

    32052
  • python
    +關(guān)注

    關(guān)注

    56

    文章

    4827

    瀏覽量

    86794
  • 爬蟲
    +關(guān)注

    關(guān)注

    0

    文章

    83

    瀏覽量

    7512
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    Python數(shù)據(jù)爬蟲學(xué)習(xí)內(nèi)容

    ,利用爬蟲,我們可以解決部分?jǐn)?shù)據(jù)問題,那么,如何學(xué)習(xí)Python數(shù)據(jù)爬蟲能?1.學(xué)習(xí)Python基礎(chǔ)知識并實(shí)現(xiàn)基本的爬蟲過程一般獲取數(shù)據(jù)的過
    發(fā)表于 05-09 17:25

    請問前三行是什么意思?

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

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

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

    三行搞定獨(dú)立按鍵

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

    Python爬蟲簡介與軟件配置

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

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

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

    完全自學(xué)指南Python爬蟲BeautifulSoup詳解

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

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

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

    python為什么叫爬蟲

     作為一門編程語言而言,Python是純粹的自由軟件,以簡潔清晰的語法和強(qiáng)制使用空白符進(jìn)行語句縮進(jìn)的特點(diǎn)從而深受程序員的喜愛。舉一個(gè)例子:完成一個(gè)任務(wù)的話,c語言一共要寫1000代碼,java要寫
    的頭像 發(fā)表于 12-27 16:46 ?15.4w次閱讀
    <b class='flag-5'>python</b>為什么叫<b class='flag-5'>爬蟲</b>

    如何實(shí)現(xiàn)計(jì)算機(jī)視覺的目標(biāo)檢測10Python代碼幫你實(shí)現(xiàn)

    只需10Python代碼,我們就能實(shí)現(xiàn)計(jì)算機(jī)視覺中目標(biāo)檢測。 沒錯(cuò),用這寥寥10代碼,就能
    的頭像 發(fā)表于 02-03 11:35 ?3265次閱讀

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

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

    Python寫網(wǎng)絡(luò)爬蟲

    Python寫網(wǎng)絡(luò)爬蟲的方法說明。
    發(fā)表于 06-01 11:55 ?21次下載

    Sweetviz讓你三行代碼實(shí)現(xiàn)探索性數(shù)據(jù)分析

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

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

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

    Sweetviz: 讓你三行代碼實(shí)現(xiàn)探索性數(shù)據(jù)分析

    Sweetviz是一個(gè)開源Python庫,它只需三行代碼就可以生成漂亮的高精度可視化效果來啟動(dòng)EDA(探索性數(shù)據(jù)分析)。輸出一個(gè)HTML。 它不僅能根據(jù)性別、年齡等不同欄目縱向分析數(shù)據(jù),還能對每個(gè)
    的頭像 發(fā)表于 10-31 10:28 ?1210次閱讀
    Sweetviz: 讓你<b class='flag-5'>三行</b><b class='flag-5'>代碼</b>實(shí)現(xiàn)探索性數(shù)據(jù)分析