乙個爬蟲的故事 這是人幹的事兒?

2022-07-08 05:18:13 字數 2528 閱讀 5042

我是乙個爬蟲,每天穿行於網際網路之上,爬取我需要的一切。

​我只需要偽裝成乙個瀏覽器,向伺服器傳送http請求,就能拿到網頁html檔案。

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

只要你在**的根目錄下放置乙個叫robots.txt的檔案,裡面寫上哪些目錄禁止訪問,我就會繞道而行,就像這樣:

user-agent: *

disallow: /a/

disallow: /b/

disallow: /c/

就像程式設計師們經常互相鄙視一樣,在咱們爬蟲的圈子裡,也存在鄙視鏈。

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

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

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

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

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

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

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

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

有些**更狠,在網頁裡面插入一些假的,只有幾個畫素那種,人類的眼睛是看不見的,但是我們不知道啊,對我來說都是

標籤,我一訪問就中計了!立刻被拉入黑名單。

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

後來才知道,原來他們用上了乙個叫前後端分離開發的技術,資料不再從伺服器渲染到html網頁中,而是瀏覽器通過單獨的api介面拿到後再動態載入出來,難怪我拿到的只是乙個空殼子。

為了拿到資料,我只好也學著去請求這些資料介面,不過因為這些**都有api閘道器,會檢查請求的token或者authorization之類的認證字段,再加上我不知道他們的介面引數格式,導致我經常拿不到資料。

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

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

這簡直欺人太甚了!

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

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

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

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

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

乙個人的故事

一九四五年的一天,克力富蘭的孤兒院裡出現了乙個神秘的女嬰,沒有人知道她的父母是誰。她孤獨地長大,沒有任何人與她來往。直到一九六三年的一天,她莫明其妙地愛上了乙個流浪漢,情況才變得好起來。可是好景不長,不幸事件乙個接乙個的發生。首先,當她發現自己懷上了流浪漢的小孩時,流浪漢卻突然失蹤了。其次,她在醫院...

乙個人的故事

一九四五年的一天,克力富蘭的孤兒院裡出現了乙個神秘的女嬰,沒有人知道她的父母是誰。她孤獨地長大,沒有任何人與她來往。直到一九六三年的一天,她莫明其妙地愛上了乙個流浪漢,情況才變得好起來。可是好景不長,不幸事件乙個接乙個的發生。首先,當她發現自己懷上了流浪漢的小孩時,流浪漢卻突然失蹤了。其次,她在醫院...

這是乙個人戰鬥麼

隨著預產期的臨近,從最初的猶豫不決,到現在的順其自然,感覺到自己在壓力中成長 雖然說這種成長很艱辛,也不是我所願意的,但是還是默默忍受了。溫柔的欺騙,殘酷的負債,到如今的乙個人負擔,也許注定了,要走一條不同尋常的路。不敢告訴父母這一切,只能默默承受著將來可能存在的一切風險和壓力。元旦回到家中,看到了...