一、“爬蟲”是什么
大東:小白,身為計算機學(xué)科的學(xué)生,“網(wǎng)絡(luò)爬蟲”你應(yīng)該不陌生吧?
小白:那當(dāng)然了,寫的最多的就是“爬蟲”程序了。
大東:既然你這么熟悉,能給我講講什么是“爬蟲”么?
小白:當(dāng)然能,終于有一天能給大東動反向傳播知識啦,哈哈哈!“網(wǎng)絡(luò)爬蟲”就是一種按照一定的規(guī)則,自動地抓取萬維網(wǎng)信息的程序或者腳本,能夠把網(wǎng)站上的信息收集回來,并且能在網(wǎng)站之間游走。
大東:沒錯。隨著網(wǎng)絡(luò)的迅速發(fā)展,萬維網(wǎng)成為大量信息的載體,如何有效地提取并利用這些信息成為一個巨大挑戰(zhàn),搜素引擎就是一種典型的“爬蟲”應(yīng)用,它每隔幾天對全網(wǎng)的網(wǎng)頁掃一遍,以便大家查閱,被掃網(wǎng)站也樂意被收集。但是,小白你知道嗎?“爬蟲”也分善惡!
小白:我可沒有寫過惡意的“爬蟲”,大東東你別看我。
大東:像搶票軟件這樣的“爬蟲”,對著 12306 每秒掃幾萬次,被掃網(wǎng)站對它十分厭惡。
小白;哦,作為12306用戶的我,也挺討厭搶票軟件的。
大東:那你知道網(wǎng)絡(luò)世界這么多“爬蟲”,都愛爬哪些網(wǎng)站?
小白:我猜...我猜不出來...求大東東指教!
網(wǎng)絡(luò)爬蟲(圖片來自網(wǎng)絡(luò))
二、爬蟲分布圖
大東:根據(jù)“python技術(shù)客棧”公開的世界“網(wǎng)絡(luò)爬蟲”分析結(jié)果,爬蟲最多的就是出行軟件,比如前面所說的12306就是他們的目標(biāo)之一;緊隨其后的是社交軟件、電商軟件。
“爬蟲”流量目標(biāo)行業(yè)分布(圖片來自網(wǎng)絡(luò))
小白:沒想到“爬蟲”種類還不少呢!
1、“爬蟲”最大聚集地——出行軟件
大東:出行行業(yè)中“爬蟲”的占比最高,在出行的“爬蟲”中,有89.02%的流量都是沖著 12306 去的。
小白:哇哦,全中國賣火車票的獨此一家別無分號,也難怪呢。
大東:小白你有沒有發(fā)現(xiàn),12306的驗證碼比其他網(wǎng)站的更為復(fù)雜呢?
小白:沒錯,有時候我甚至覺得自己智商不夠用了。
大東:這些東西不是為了故意難為賣票的普通用戶,而恰恰是為了阻止搶票軟件這種“爬蟲”的點擊。簡單的“爬蟲”無法正確識別復(fù)雜二維碼,因此就能夠被擋在門外。
小白:不對啊,可現(xiàn)在還是可以用搶票軟件搶到票啊。
大東:沒錯。搶票軟件也不是吃素的,它們在和12306搞“對抗”?!按虼a平臺”,你聽說過嗎?
小白:那是啥?
大東:打碼平臺雇傭了很多叔叔阿姨,他們的工作就是幫人識別驗證碼。當(dāng)搶票軟件遇到了驗證碼,系統(tǒng)就會自動把這些驗證碼傳到他們面前,以人工的方式完成識別,然后再把結(jié)果傳回去。這期間總共只需要幾秒時間。
小白:厲害了啊!
大東:這樣的打碼平臺還有記憶功能,當(dāng)遇到已經(jīng)標(biāo)記過的圖,系統(tǒng)能直接判斷它是驗證答案。時間一長,12306 系統(tǒng)里的圖片就被標(biāo)記完了,機器自己都能認(rèn)識,人工環(huán)節(jié)就可以省略了。
小白:人工擊敗數(shù)據(jù)庫啊這是!
大東:每當(dāng)過年前,就是12306最繁忙的時候。據(jù)公開數(shù)據(jù)表示:“最高峰時1天內(nèi)頁面瀏覽量達813.4億次,1小時最高點擊量59.3億次,平均每秒164.8萬次。”這還是加上驗證碼防護之后的數(shù)據(jù),可想而知被攔截在外面的爬蟲還有多少。
小白:天吶,我回家的票就是被他們搶走的。
大東:被搶票軟件把票搶走,對我們父母那樣的不會搶票的人來說,是不是公平呢?
小白:太過分了!
12306驗證碼(圖片來自網(wǎng)絡(luò))
2、水軍勢力——社交軟件“爬蟲”
小白:社交軟件也有什么可“爬”的么?
大東:你想,如果我能隨心所欲地指揮一幫機器人,打開某人的微博,然后刷到某一條,然后瘋狂關(guān)注、點贊或者留言……
小白:噢!僵尸粉!
大東:你想這個場景:一個路人甲的微博沒人關(guān)注,于是用大量的“爬蟲”給自己做了十萬人的僵尸粉,一群僵尸在我的微博下面點贊評論,不亦樂乎。
小白:這有啥好樂的?
大東:接著,路人甲找到一個游戲廠商,跟他說:你看我有這么多粉絲,你在我這投廣告吧。我?guī)湍惆l(fā)一條游戲的注冊鏈接,每有一個人通過我的鏈接注冊了游戲,你就給我一毛錢。廣告主說,不錯,就這么辦。
小白:那他發(fā)的注冊鏈接,也沒人點啊。
大東:路人甲不慌,又讓十萬“爬蟲”繼續(xù)前赴后繼地點擊注冊鏈接,然后自動去完成注冊動作。
小白:哇,這不是騙錢呢嘛!
大東:我只是舉了個例子,數(shù)據(jù)不一定和現(xiàn)實吻合,具體操作也會更復(fù)雜。
小白:這種賺錢方式,太過分了!
大東:你再想象下這個場景:微博上經(jīng)常有明星給粉絲發(fā)紅包么,于是有人率十萬僵尸粉去搶……
小白:難怪我每次打開都是“已搶完”啊!這些“爬蟲”太過分啦!
3、購物“助手”——電商軟件“爬蟲”
大東:小白,你在網(wǎng)上購物是怎么挑選商品的呢?
小白:我就是在每個軟件上搜索我要買的東西,然后一家一家對比。
大東:作為老網(wǎng)購人了,你竟然不知道有種東西叫做“比價網(wǎng)站”。
小白:還有這東西?
大東:在比價網(wǎng)站上,你搜索一樣商品,這類聚合平臺就會自動把各個電商的商品都放在你面前供你選擇,基本各大購物網(wǎng)站都能囊括在內(nèi)。
小白:好東西呀,回頭我試試!
大東:這就是“爬蟲”的功勞。它們?nèi)ジ骷译娚誊浖?,把商品的圖片和價格統(tǒng)統(tǒng)扒下來,然后在自己這里展示。
小白:電商網(wǎng)站知道自己被“爬”了嗎?
大東:當(dāng)然知道。然而電商網(wǎng)站是拒絕的,但是很難阻止這類事情發(fā)生。由于“爬蟲”是模擬普通用戶的點擊行為,電商網(wǎng)站通常難以辨別機器行為,甚至都不能使用復(fù)雜驗證碼。
小白:是啊,如果每點開一個商品詳情,就要做一次驗證,還剁手呢,我都想剁了手機!不過為啥電商軟件不喜歡被“爬”呢?
大東:對同一商品在單個電商軟件內(nèi),它能決定哪個搜索結(jié)果排在前面,哪個在后面。但是如果用戶一旦使用了比價平臺,這個排名就失去了意義,電商軟件就喪失了控制權(quán)。
小白:也是,斷人財路,難怪不受歡迎。
三、“爬蟲”合法嗎?
小白:大東東你說了這么多,我有些疑惑了,難道爬蟲一種違法行為么?
大東:這個問題還真的不簡單,《網(wǎng)絡(luò)安全法》里沒有對“爬取網(wǎng)絡(luò)公開信息被認(rèn)定為違法”的條款,但是有條司法解釋值得注意:“未經(jīng)授權(quán)爬取用戶手機通訊錄超過50條記錄;未經(jīng)授權(quán)抓取用戶淘寶交易記錄超過500條;未經(jīng)授權(quán)讀取用戶運營商網(wǎng)站通話記錄超過500條;未經(jīng)授權(quán)讀取用戶公積金社保記錄的超過50000條的。”以上這些情況可以入刑。
小白:這個我可得注意注意,別一不小心違法亂紀(jì)啦。
大東:與被“爬”企業(yè)勢不兩立的爬蟲,說白了,就是阻擋了對方的財路。企業(yè)也不會善罷甘休,經(jīng)典的對抗方式,除了剛才說的驗證碼外,還有滑塊驗證、封禁 IP、給訪問者增加一些加解密運算,耗費“爬蟲”的程序資源等等。
小白:各顯神通的對抗啊。
滑塊驗證(圖片來自網(wǎng)絡(luò))
大東:“爬蟲”是一種在廣闊萬維網(wǎng)上收集信息的技術(shù),本身并沒有好壞之分,但寫“爬蟲”程序的人是趨利的,當(dāng)他們想用“爬蟲”來達到自己不可告人的秘密時,爬蟲就有了好壞之分。
小白:技術(shù)是把雙刃劍??!我們應(yīng)該好好規(guī)范自己的使用,并且互相監(jiān)督,讓這個世界更加美好。
參考鏈接:
1. 中國爬蟲圖鑒 https://mp.weixin.qq.com/s/owfGEhjMrLmGRNatP8eDjg
2. 網(wǎng)絡(luò)爬蟲 https://baike.baidu.com/item/%E7%BD%91%E7%BB%9C%E7%88%AC%E8%99%AB/5162711
3. Python爬蟲原理 cnblogs.com/sss4/p/7809821.html
4. “來我公司寫爬蟲嗎?會坐牢的那種!” https://blog.csdn.net/yellowzf3/article/details/102634078
5. 陳根:從爬蟲技術(shù)到爬蟲行為,網(wǎng)絡(luò)爬蟲的罪與非罪 https://www.sohu.com/a/414338280_124207
來源:中國科學(xué)院計算技術(shù)研究所