精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

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

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

3天內不再提示

什么是爬蟲看了就知道

STM32嵌入式開發 ? 來源:搜狐網 ? 作者:搜狐網 ? 2020-10-21 11:10 ? 次閱讀

因為借助HTTP協議,我可以通過全球全部的website和瀏覽器獲取我想要的數據。而我要加裝自己是一個瀏覽器,向server發送HTTP請求,進而請求到網頁文件。之后按照HTML的格式規范解析其中的圖片、鏈接、表單,獲得我感興趣的內容。

得到鏈接標簽之后,我會進一步爬取鏈接背后的內容,這樣往復,用不了多長時間,我就能爬完這個站點中開放出來的所有內容。

都說盜亦有道,當然了,咱們爬蟲也有底線。在我們這一行混,必須遵守一個規矩——Robots協議。robots.txt的文件被放在網站的根目錄下充當門神,里面寫上哪些目錄禁止訪問,爬蟲就會繞道而行,robots里面的內容長這樣:

User-agent: *

Disallow: /a/

Disallow: /b/

Disallow: /c/

如果你以為只有在程序員之間存在鄙視鏈,那你就錯了,實際上他們的作品之間也存在鄙視鏈。

在這個星球上大佬級別的爬蟲當屬谷歌搜索引擎,當它想要爬取什么內容的時候全球所有網站都巴不得被爬取。全球幾乎所有的網站都想被收錄到搜索引擎的花名冊,進而自己的網站可以被廣大網民搜索到。

當然總有一些不法爬蟲,有一些爬蟲不遵守robots協議,隨意亂爬,一天天只知道爬美女圖片,把人家server都爬崩潰了。

但是像我這樣老實本分的爬蟲,日常就是爬取一些網站數據,比如購物網站、點評網站。但這些網站也不待見我們。

為了爬到數據,我們與網站之間一直在對峙。

再說說反爬蟲

那些網站不待見咱們這些爬蟲是因為心疼自己的網絡帶寬。

況且,我們不像搜索引擎爬蟲可以給他們的網站帶來流量,卻會占用他們的服務器一部分性能,占據他們珍貴的流量,那些可都是雪花銀,想想就揪心啊?

這些網站為了對付我們,采取了一個措施:在HTTP請求中的user-agent字段識別出這是爬蟲,就不會理睬我們了。user-agent是HTTP協議中用來代表客戶端名字的一個字段。在我剛入行時沒什么經驗,就經常被識破。

最后我只能換一身行頭,冒充瀏覽器,更有甚者圈子里有個兄弟冒充搜索引擎,我不會像他那么沒有底線。

沒多久這招就失靈了,那些網站升級了策略,通過我們的行為來識別是不是真的瀏覽器。我們畢竟是程序,那速度比人類點擊快多了,如果網站發現我們在短時間內發起了居多請求,那就掐斷連接。被逼無奈,我只好降低爬取的頻率。

在江湖漂,難免要挨刀,有些網站會設下陷阱,靜靜等候我們這些爬蟲到來。他們在網頁里面放上一些假的圖片作為誘餌,實際上可能是只有幾個像素、肉眼無法識別的假圖片,但是我們不知道啊,對我來說只要是《img》標簽就是圖片。記得,有一次我一訪問就中計了,立刻被拉入黑名單!

上次栽了跟頭,但我沒有退縮,翻越高墻,出來后我要變得更強大。

聽說圈子里有些大佬用上了分布式技術,組團去爬,很多個IP地址,其中一個或者幾個封了也不用怕,我真是很羨慕。慕名而去,我學會了這項本領,黑夜看到了我猙獰的笑。

前端后端

在我的爬蟲生涯中遇到過一些奇怪的網站,網頁中有數據,但是訪問拿到的HTML中啥也沒有。

原來這種網站用了前后端分離開發的技術。數據是瀏覽器通過單獨的API接口拿到后再動態加載出來,而不是渲染到網頁中,難怪我拿到的只是一個空殼子。

為了拿到數據,我只好也學著去請求這些數據接口,不過因為這些網站都有API網關,會檢查請求的Token或者Authorization之類的認證字段,再加上我不知道他們的接口參數格式,導致我經常拿不到數據。直到最近兩年,我拿到的網頁HTML越來越簡單了,在瀏覽器中豐富多彩的頁面,一查看源代碼竟然只有簡單幾行,真是見了鬼了!

有一天,一個前輩告訴我,現在流行單頁應用SPA了,頁面全都是在前端動態生成的,拿到的HTML根本沒有價值。這簡直欺人太甚了!

沒辦法了,我決定變成一個真正的瀏覽器。

這個內嵌的瀏覽器沒有界面,專門為我服務,嵌入到我的程序中,讓他去真正地渲染網頁,渲染完成后我再去取數據。這是真正意義上模擬人類去訪問網站了,再也不用模擬繁瑣的數據接口訪問,也不用擔心單頁應用,前端渲染就前端渲染,我再也不怕了!

難搞的驗證碼

到后來,不知道是誰發明的,網站們紛紛用上了一種叫驗證碼的技術,給我們出了難題。開始的驗證碼一般都是些簡單的數字、英文字符做了些變形,就像這樣:

江湖上很快有大佬教我用文字識別技術OCR來自動識別這種驗證碼,我也折騰了一下,費了老大勁終于可以識別出來,準確率不敢說100%,99%還是有的。

沒多久這驗證碼就變得越來越復雜,什么漢字識別,物體識別,滑動解鎖,一個比一個難,像是簡單的小游戲。你瞧瞧下面這些驗證碼,這不是故意為難爬蟲嗎?

這些網站的反爬蟲技術越來越先進,我們能發揮的空間被一步步擠壓。內憂外患不斷,不少爬蟲兄弟失業的失業,轉行的轉行,爬蟲這碗飯,真是越來越不好吃了。據說有個愣頭青爬蟲強行爬取一家公司的網站,最后把人公司server給爬崩潰了,他還被抓了起來。
責任編輯人:CC

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

    關注

    0

    文章

    82

    瀏覽量

    6845

原文標題:詳解什么是爬蟲?

文章出處:【微信號:c-stm32,微信公眾號:STM32嵌入式開發】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    看了知道 好東西的

    看了知道 好東西的
    發表于 08-09 15:52

    Python數據爬蟲學習內容

    ,利用爬蟲,我們可以解決部分數據問題,那么,如何學習Python數據爬蟲能?1.學習Python基礎知識并實現基本的爬蟲過程一般獲取數據的過程都是按照 發送請求-獲得頁面反饋-解析并且存儲數據 這三個
    發表于 05-09 17:25

    爬蟲可以采集哪些數據

    一、爬蟲可以采集哪些數據   1.圖片、文本、視頻   爬取商品(店鋪)評論以及各種圖片網站,獲得圖片資源以及評論文本數據。   掌握正確的方法,在短時間內做到能夠爬取主流網站的數據,其實非常容易
    發表于 10-15 17:25

    網絡爬蟲之關于爬蟲http代理的常見使用方式

    在做爬蟲的過程中,如果你爬取的頻率過快,不符合人的操作模式。有些網站的反爬蟲機制通過監測到你的IP異常,訪問頻率過高。就會對你進行封IP處理。目前已有比較多的第三方平臺專門進行代理IP的服務,那
    發表于 04-26 17:43

    網絡爬蟲nodejs爬蟲代理配置

    隨著互聯網的發展進步,現在互聯網上也有許多網絡爬蟲。網絡爬蟲通過自己爬蟲程序向目標網站采集相關數據信息。當然互聯網的網站會有反爬策略。比如某電商網站就會限制一個用戶IP的訪問頻率,從而出現驗證碼
    發表于 09-01 17:23

    Golang爬蟲語言接入代理?

    golang語言也是爬蟲中的一種框架語言。當然很多網絡爬蟲新手都會面臨選擇什么語言適合于爬蟲。一般很多爬蟲用戶都會選擇python和java框架語言來寫
    發表于 09-09 17:41

    什么是爬蟲

    什么是爬蟲爬蟲的價值?最簡單的python爬蟲爬蟲基本架構
    發表于 11-05 06:13

    如何運行imdb爬蟲

    imdbcn爬蟲實例 imdbcn網站結構分析 創建爬蟲項目 運行imdb爬蟲
    發表于 11-05 07:07

    0基礎入門Python爬蟲實戰課

    情況及薪資水平……諸如此類,不勝枚舉。只要是信息,只要你能看到它,想批量獲取它,都可以使用爬蟲來實現。但,自學爬蟲存在不少障礙,你可能會有這些困擾:看了書,上了課,卻依然不會爬蟲自學遇
    發表于 07-25 09:28

    python網絡爬蟲概述

    網絡爬蟲(Web Spider)又稱網絡蜘蛛、網絡機器人,是一種按照一定的規則,自動地抓取萬維網信息的程序或者腳本。網絡爬蟲按照系統結構和實現技術,大致可分為一下幾種類型:通用網絡爬蟲:就是盡可能
    發表于 03-21 16:51

    labview實現網絡爬蟲功能

    借助.NET,labview實現爬蟲功能。爬取12306上的票務信息。懶得搭建python的環境了。用C#編寫票務信息爬蟲庫,然后用labview調用。labview源代碼見附件。具體的配置實現細節
    發表于 04-02 17:20

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

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

    爬蟲是如何實現數據的獲取爬蟲程序如何實現

    進入大數據時代,爬蟲技術越來越重要,因為它是獲取數據的一個重要手段,是大數據和云計算的基礎。那么,爬蟲到底是如何實現數據的獲取的呢?今天和大家分享的就是一個系統學習爬蟲技術的過程:先掌握爬蟲
    發表于 01-02 16:30 ?10次下載
    <b class='flag-5'>爬蟲</b>是如何實現數據的獲取<b class='flag-5'>爬蟲</b>程序如何實現

    網絡爬蟲是否合法

    網絡爬蟲在大多數情況中都不違法,其實我們生活中幾乎每天都在爬蟲應用,如百度,你在百度中搜索到的內容幾乎都是爬蟲采集下來的(百度自營的產品除外,如百度知道、百科等),所以網絡
    的頭像 發表于 03-21 17:20 ?1.2w次閱讀

    Python爬蟲 你真的會寫爬蟲嗎?

    你以為你真的會寫爬蟲了嗎?快來看看真正的爬蟲架構!
    的頭像 發表于 05-02 17:02 ?3866次閱讀
    Python<b class='flag-5'>爬蟲</b> 你真的會寫<b class='flag-5'>爬蟲</b>嗎?