日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

爬蟲原理

我是一個爬蟲,每天穿行于互聯網之上,爬取我需要的一切。

一個爬蟲的故事:這是人干的事兒?

 

說起來還要感謝HTTP協議,因為它,全世界的網站和瀏覽器才能夠連接通信,而我也是借助HTTP協議,獲取我想要的數據。

我只需要偽裝成一個瀏覽器,向服務器發送HTTP請求,就能拿到網頁html文件。

接著,我再按照HTML的格式規范,去解析其中的圖片<img>、鏈接<a>、表單<form>等等我關注的信息。

一個爬蟲的故事:這是人干的事兒?

 

獲取鏈接標簽以后,我又可以進一步爬取鏈接背后的網頁,如此反復,要不了多久,一個網站中暴露出來的內容我就能爬個干凈。

當然了,咱們做爬蟲也還是有底線的。干我們這一行,有一個約定俗成的規定,那就是Robots協議

只要你在網站的根目錄下放置一個叫robots.txt的文件,里面寫上哪些目錄禁止訪問,我就會繞道而行,就像這樣:

User-agent: *

Disallow: /a/

Disallow: /b/

Disallow: /c/

就像程序員們經常互相鄙視一樣,在咱們爬蟲的圈子里,也存在鄙視鏈。

地位最高的要數搜索引擎的爬蟲了,他們高高在上,正大光明的爬,各個網站歡迎還來不及,都想被他們收錄到搜索引擎之中,給網站帶來流量。這些爬蟲,都是圈子里的大佬,我們惹不起。

一個爬蟲的故事:這是人干的事兒?

 

另外有一些爬蟲,他們有的不遵守robots協議,隨意亂爬,有的一天天的凈知道爬美女圖片,把人家服務器爬崩潰了,這些爬蟲我們也是看不起的。

像我這樣老實本分的爬蟲,平日的工作就是爬取一些網站的數據,像購物網站、點評網站等等。雖然我們很守規矩,但這些個網站還是很不待見我們,為了拿到數據,我們展開了曠日持久的拉鋸戰。

一個爬蟲的故事:這是人干的事兒?

 

反爬蟲技術

現在很多網站都上云了,云上的資源可昂貴了,CPU、內存、存儲這些都價格不菲,尤其是網絡帶寬,價格是真心貴。

一個爬蟲的故事:這是人干的事兒?

 

那些網站不待見咱們這些爬蟲也就可以理解了,我們不像搜索引擎爬蟲可以給他們帶來好處,相反,還會消耗他們的服務器性能,花掉他們寶貴的流量,那可是白花花的人民幣,誰不心疼啊?

所以這些網站加了一個措施:一旦在HTTP請求中的user-agent字段發現這是一個爬蟲,那就不搭理我們了。

一個爬蟲的故事:這是人干的事兒?

 

這個user-agent是HTTP協議中表示客戶端名字的字段,那個時候我剛剛入行,沒什么經驗,不懂得偽裝,很容易就被發現。

為了能夠繼續爬數據,我只好改頭換面,偽裝成了瀏覽器的名字,圈子里有的兄弟還偽裝成了搜索引擎爬蟲的名字,我可不像他們那樣沒下線。

這一招管用了沒多久,這些網站就升級了策略,通過我們的行為來識別是不是真的瀏覽器。我們畢竟是程序,那速度比人類點擊快多了,網站一旦發現我們短時間內發起了很多請求,那就掐斷連接。

我只好降低爬取的頻率,避免被拉入黑名單。

有些網站更狠,在網頁里面插入一些假的圖片,只有幾個像素那種,人類的眼睛是看不見的,但是我們不知道啊,對我來說都是<img>標簽,我一訪問就中計了!立刻被拉入黑名單。

沒有辦法,攤上這種事,我只好想辦法換個IP再去爬,真是難頂。

聽說圈子里有些大佬用上了分布式技術,組團去爬,很多個IP地址,其中一個或者幾個封了也不用怕,我真是很羨慕。

前后端分離

在我的職業生涯中,遇到過一些奇怪的網站,明明網頁中有數據,但是我一訪問拿到的HTML中啥也沒有,一度讓我很郁悶。

后來才知道,原來他們用上了一個叫前后端分離開發的技術,數據不再從服務器渲染到HTML網頁中,而是瀏覽器通過單獨的API接口拿到后再動態加載出來,難怪我拿到的只是一個空殼子。

一個爬蟲的故事:這是人干的事兒?

 

為了拿到數據,我只好也學著去請求這些數據接口,不過因為這些網站都有API網關,會檢查請求的Token或者Authorization之類的認證字段,再加上我不知道他們的接口參數格式,導致我經常拿不到數據。

到了最近兩年,我拿到的網頁HTML越來越簡單了,在瀏覽器中豐富多彩的頁面,一查看源代碼竟然只有簡單幾行,真是見了鬼了!

終于有一天,一個前輩告訴我,現在流行單頁應用SPA了,頁面全都是在前端動態生成的,拿到的HTML根本沒有價值。

一個爬蟲的故事:這是人干的事兒?

 

這簡直欺人太甚了!

一不做二不休,我決定弄一個真正的瀏覽器進來,這個內嵌的瀏覽器沒有界面,專門為我服務,嵌入到我的程序中,讓他去真正的渲染網頁,渲染完成后我再去取數據!

這是真正意義上模擬人類去訪問網站了,再也不用模擬繁瑣的數據接口訪問,也不用擔心單頁應用,前端渲染就前端渲染,我再也不怕了!

驗證碼

到后來,不知道是誰發明的,網站們紛紛用上了一種叫驗證碼的技術,給我們出了難題。

開始的驗證碼還算比較簡單,一般都是些簡單的數字、英文字符做了些變形,就像這樣:

一個爬蟲的故事:這是人干的事兒?

 

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

不過沒多久,這驗證碼就變得越來越復雜,什么漢字識別,物體識別,滑動解鎖,一個比一個難,根本超出了我的理解范圍,你瞧瞧下面這些驗證碼,這是人干的事兒嗎?

一個爬蟲的故事:這是人干的事兒?

 

哎,這還真是人才能干的事,不是我們爬蟲能干的~

如今,這些網站的反爬蟲技術越來越先進,我們能發揮的空間被一步步擠壓。

前段時間,有個愣頭青爬蟲把一家公司的服務器給爬崩潰了,把人家正常業務都弄停掉了,他還被抓了起來,現在監管越來越嚴,搞得大家人心惶惶。

內憂外患不斷,不少爬蟲兄弟失業的失業,轉行的轉行,爬蟲這碗飯,真是越來越不好吃了。。。

作者:軒轅之風

來源:編程技術宇宙(ID:xuanyuancoding)

分享到:
標簽:爬蟲
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定