搶票軟體背後,無數個叫做「爬蟲」的東西,你了解多少?

抢票软件背后,无数个叫做“爬虫”的东西,你了解多少?

1.你以為你在大眾點評上找到的館子,真的是幾百個人給了好評,然後才出現在你的推薦裡的嗎?

2.你以為你在百度上搜索到的信息,真的是百度想讓你看到的嗎?(注意體會這句話的意思,不是日常黑百度)

3.你以為在微博上看到的熱搜話題大V互動,真的都是真實發生的嗎?

抢票软件背后,无数个叫做“爬虫”的东西,你了解多少?

最近北京下暴雨,人們寸步難行。

我和么哥坐在 床 窗邊喝茶,他看著窗外的陰霾,聯想起了辛酸往事。

每年總有那麼幾天,么哥會心情焦慮,坐立不安,腰膝乏力,溼身盜汗。那是因為,他又要準備搶回家的火車票了。

么哥家在湖南,離北京上千公里。他是家裡的獨子,每年買到火車票準時出現在家門口是他的“義務”。

這兩年,他的救命稻草是一個叫做“智行火車票”的搶票軟件。他在打折的時候買了會員。據說會員是有特權的:哪怕只搶到一張票,都會優先給他。(起碼么哥是這樣安慰自己的。)

從技術上說,么哥的救命稻草不是搶票軟件,而是搶票軟件背後,無數個叫做“爬蟲”的東西。

說到這,中哥就得給你介紹今天的新朋友:爬蟲。

爬蟲就是一個探測機器,它的基本操作就是模擬人的行為去各個網站溜達,點點按鈕,查查數據,或者把看到的信息揹回來。就像一隻蟲子在一幢樓裡不知疲倦地爬來爬去。

你可以簡單地想象:每個爬蟲都是你的“分身”。就像孫悟空拔了一撮汗毛,吹出一堆猴子一樣。

你每天使用的百度,其實就是利用了這種爬蟲技術:每天放出無數爬蟲到各個網站,把他們的信息抓回來,然後化好淡妝排著小隊等你來檢索。

搶票軟件,就相當於撒出去無數個分身,每一個分身都幫助你不斷刷新 12306 網站的火車餘票。一旦發現有票,就馬上拍下來,然後對你喊:土豪塊來付款。

正好在上週末,一位黑客盆友御風神秘兮兮地給我發來一份《中國爬蟲圖鑑》,這哥們在騰訊雲鼎實驗室主要負責加班,順便和同事們開發了很多黑科技。比如他們搞了一個威脅情報系統,號稱能探測到全世界的“爬蟲”都在做什麼。

我吹著口哨打開《圖鑑》,但一分鐘以後,我整個人都不好了。

我看到了另一個“平行世界”:

就在我們身邊的網絡上,已經密密麻麻爬滿了各種網絡爬蟲,它們善惡不同,各懷心思。而越是每個人切身利益所在的地方,就越是爬滿了爬蟲。

看到最後,我發現這哪裡是《中國爬蟲圖鑑》,這分明是一份《中國焦慮圖鑑》。

抢票软件背后,无数个叫做“爬虫”的东西,你了解多少?

我們今天要說的,

就和這些 App 有關。

一、爬蟲的“騷操作”

爬蟲也分善惡。

像谷歌這樣的搜索引擎爬蟲,每隔幾天對全網的網頁掃一遍,供大家查閱,各個被掃的網站大都很開心。這種就被定義為“善意爬蟲”。

但是,像搶票軟件這樣的爬蟲,對著 12306 每秒鐘恨不得擼幾萬次。鐵總並不覺得很開心。這種就被定義為“惡意爬蟲”。(注意,搶票的你覺得開心沒用,被掃描的網站覺得不開心,它就是惡意的。)

給你看一張圖:

抢票软件背后,无数个叫做“爬虫”的东西,你了解多少?

這張圖裡顯示的,就是各行各業被爬“叨擾”的比例。(注意,這張圖顯示是全世界,不是全中國。)而每一個色塊背後,都是一條真實而強大的利益鏈條。

接下來,中哥就給你科普一下里面的騷操作。

1、排名第一的是出行

出行行業中爬蟲的佔比最高(20.87%)。在出行的爬蟲中,有89.02%的流量都是衝著 12306 去的。這不意外,全中國賣火車票的獨此一家別無分號。

你還記得當年12306 上線王珞丹和白百何的“史上最坑圖片驗證碼”麼?

抢票软件背后,无数个叫做“爬虫”的东西,你了解多少?

這些東西不是為了故意難為老老實實賣票的人的,而恰恰是為了阻止爬蟲(也就是搶票軟件)的點擊。剛才說了,爬蟲只會簡單的機械點擊,它不認識白百何,所以很大一部分爬蟲就被擋在了門外。

你可能會說,不對啊,我現在還可以用搶票軟件搶到票啊。

沒錯。搶票軟件也不是吃素的。它們在和鐵總搞“對抗”。

有一種東西叫做“打碼平臺”,你可以瞭解一下。

打碼平臺僱傭了很多叔叔阿姨,他們在電腦屏幕前不做別的事情,專門幫人識別驗證碼。那邊搶票軟件遇到了驗證碼,系統就會自動把這些驗證碼傳到叔叔阿姨面前,他們手工選好哪個是白百何哪個是王珞丹,然後再把結果傳回去。總共的過程用不了幾秒時間。

當然,這樣的打碼平臺還有記憶功能。如果叔叔阿姨已經標記了這張圖是“鍋鏟”,那麼下次這張圖片再出現的時候,系統就直接判斷它是“鍋鏟”。時間一長,12306 系統裡的圖片就被標記完了,機器自己都能認識,叔叔阿姨都可以坐在一邊鬥地主了。

你可能會問:為什麼 12306 這麼摳呢?它大方地讓爬蟲隨意爬會死嗎?

答:會死。

你知道每年過年之前,12306 被點成什麼樣了嗎?公開數據是這麼說的:“最高峰時1天內頁面瀏覽量達813.4億次,1小時最高點擊量59.3億次,平均每秒164.8萬次。”這還是加上驗證碼防護之後的數據。可想而知被攔截在外面的爬蟲還有多少。

況且這裡還沒有討論,被搶票軟件把票搶走,對我們父母那樣的不會搶票的人來說,是不是公平呢?

鐵路被爬蟲“點雞”成這樣已經夠慘了,但它還有個難兄難弟,就是航空。

而航空裡,被搞得最慘的不是國航,不是海航,也不是東航。而是亞航。

抢票软件背后,无数个叫做“爬虫”的东西,你了解多少?

航空類爬蟲的分佈比例

很多人可能都沒坐過亞洲航空。這是一家馬來西亞的廉價航空公司,航線基本都是從中國各地飛往東南亞的旅遊勝地,飛機上連礦泉水都得自費買,是屌絲窮X度假之首選。

為什麼爬蟲這麼青睞亞航呢?因為它便宜。確切地說,因為它經常放出便宜的票。

本來,亞航的初衷只是隨機放出一些便宜的票來吸引遊客,但這裡面黃牛黨是有利可圖的。

據我所知,他們是這樣玩的:

技術宅黃牛黨們利用爬蟲,不斷刷新亞航的票務接口,一旦出現便宜的票,不管三七二十一先拍下來再說。

亞航有規定,你拍下來半小時(具體時間記不清了)不付款票就自動回到票池,繼續賣。但是黃牛黨們在爬蟲腳本里寫好了精確的時間,到了半小時,一毫秒都不多,他又把票拍下來,如此循環。直到有人從黃牛黨這裡定了這個票,黃牛黨就接著利用程序,在亞航系統裡放棄這張票,然後0.00001秒之後,就幫你用你的名字預定了這張票。

“我是中間商,我就要賺差價!”這波騷操作,堪稱完美。

2、排名第二的是社交

社交的爬蟲重災區,就是你們喜聞樂見的微博。

給你看張圖:

抢票软件背后,无数个叫做“爬虫”的东西,你了解多少?

這是爬蟲經常光顧的微博地址。

這裡的代碼其實指向了微博的一個接口。它可以用來獲取某個人的微博列表、微博的狀態、索引等等等等。

獲得這些,能搞出什麼騷操作呢?

你想想看,如果我能隨心所欲地指揮一幫機器人,打開某人的微博,然後刷到某一條,然後瘋狂關注、點贊或者留言,這不就是標準的殭屍粉上班兒的流程麼。。。

其實,殭屍粉都只是爬蟲的常規操作,更騷的來了:

1、我是一個路人甲,我的微博沒人關注,我用大量的爬蟲,給自己做了十萬人的殭屍粉,一群殭屍在我的微博下面點贊評論,不亦樂乎。

2、我去找一個遊戲廠商,跟他說:你看我有這麼多粉絲,你在我這投廣告吧。我幫你發一條遊戲的註冊鏈接,每有一個人通過我的鏈接註冊了遊戲,你就給我一毛錢。廣告主說,不錯,就這麼辦。

3、我發出註冊鏈接,然後沒人點。。。

4、不慌,我讓十萬爬蟲繼續前赴後繼地點擊註冊鏈接,然後自動去完成註冊動作。

5、我躺在床上,數著賺來的一萬塊錢。

(以上數據不一定和現實吻合,只是展現一個邏輯。具體操作也會更復雜。)

還有更騷的麼?有的。

你家愛豆不是經常在微博上發紅包麼?好的,我率十萬殭屍粉去搶。

抢票软件背后,无数个叫做“爬虫”的东西,你了解多少?

憑本事搶來的紅包,就問你有什麼不妥嗎?

3、排名第三的是電商

你回憶一下,有幾種東西叫做“比價平臺”“聚合電商”和“返利平臺”。他們大體都是一個原理:

你搜索一樣商品,這類聚合平臺就會自動把各個電商的商品都放在你面前供你選擇。有淘寶、京東,還有唯品會蘇寧易購。

這就是爬蟲的功勞。它們去淘寶上,把胖次襪子杜蕾斯的圖片和價格統統扒下來,然後在自己這裡展示。

抢票软件背后,无数个叫做“爬虫”的东西,你了解多少?

這個原理和谷歌差不多。只不過他們展示的不是網頁而是商品。但是被放在一起比價,淘寶是拒絕的,京東也是拒絕的啊。

然鵝,由於機器爬蟲模擬的是人的點擊,電商很難阻止這類事情發生。他們甚至都不能向12306學習。你想想看,如果你每點開一個商品詳情,淘寶都讓你先分辨一次白百何和王珞丹,你肯定沒心情剁手,沒準還要提刀去剁馬雲呢。

當然,電商對抗爬蟲有另外的方法,那就是“web 應用防火牆”,簡稱 WAF。這個我們後面再單獨說。

說到這,有童鞋會有個疑問:

那些聚合平臺,自己寫爬蟲,然後幫助淘寶京東賣貨,他們的名字叫雷鋒麼?

醒醒啊同學,雷鋒叔叔已經走了很多年了。我隨便給你說一下這種聚合電商平臺的盈利模式:

1、假設幾家店鋪都賣杜蕾斯,但是用戶在我這裡搜索“杜蕾斯”的時候,我是有權利決定誰的店鋪在前面誰在後面的啊。誰給的錢多,我就讓誰在搜索的前面唄。@百度君,你說說是不是這個道理?(注意,每個店鋪和淘寶平臺可不是一致行動人。淘寶平臺不希望自己的內容被聚合平臺抓取,但每個店鋪可是很樂意多一個渠道幫他們賣貨的。)

2、如果你覺得搞競價排名良心會痛,也可以用更簡單的方式——在網頁上展示獨立的廣告。訪問你網站的用戶,看到頁面上的廣告,也有可能會點擊。每點擊一次,你就賺一次錢。

3、你還可以作為中間商,收點中介費。我幫你店家賣貨了,你是不是要給我意思意思。除了給我意思意思,你還得給來買東西的用戶意思意思。這種套路,就是“返利網”這類平臺的玩法。

4、接下來是 O2O 和搜索引擎

你還記得上車之前,我問了你一個問題嗎?

你在大眾點評上看到的信息,真是吃貨們點評的嗎?

答:大部分時候是,但有時候不是。

這裡面的影響因素還是爬蟲。

御風告訴我,這些爬蟲很可能被用來做兩件事:

1、大眾點評畢竟是最好的點評網站。很多網站都會爬取大眾點評的數據,用來豐富自己的信息。

2、很多剛上點評的商戶,信譽值不高,可以用爬蟲來模擬留言、點贊,刷高自己的信譽值。

所以,理論上講一旦大眾點評對這些爬蟲對抗出現鬆懈,就會有一些不三不四的店鋪被“刷”到頂部。

而與之相似的,是爬蟲針對搜索引擎的進攻。

你可能瞭解,搜索引擎決定哪個網頁排名靠前,(除了廣告以外)主要一個指標就是看哪個搜索結果被人點擊的次數更多。

既然這樣,那麼我就派出爬蟲,搜索某個特定的“關鍵詞”,然後在結果裡拼命地點擊某個鏈接,那麼這個網站在搜索引擎的權重裡自然就會上升。這個過程就叫做 SEO(搜索引擎優化)。

舉個例子:

我隨意搜索一個關鍵詞。

抢票软件背后,无数个叫做“爬虫”的东西,你了解多少?

它排在前面的網址,有可能就是經過 SEO 的。作為任何一個搜索引擎,都肯定不允許外人對於自己的搜索結果動手動腳,否則就會喪失公立性。它們會通過不定期調整算法來對抗 SEO。

尤其是很多賭博、黃色網站,搜索引擎如果敢收廣告費讓他們排到前面,那就離倒閉不遠了。所以黃賭毒網站只能利用黑色 SEO,強行把自己刷到前面。直到被搜索引擎發現,趕緊對它們“降權”處理。不過御風算了算,這些黃色網站如果能把自己刷到前幾位一兩個小時,賺來的錢就遠遠超過 SEO 的費用。

這也就解釋了為什麼有時我們“眾裡尋他千百度”,驀然回首,卻看到“有人正在脫褲褲”了。

5、最後再說說政府部門

你看這張圖,全是爬蟲針對政府信息的爬取。

抢票软件背后,无数个叫做“爬虫”的东西,你了解多少?

第二名,北京市預約掛號同一平臺。這個鍋,板上釘釘要號販子來背。

其他的,例如法院公告、信用中國、信用安徽,為什麼爬蟲要爬這些信息呢?

因為有些信息,是隻有政府部門才掌握的。

比如,誰被告過,哪家公司曾經被行政處罰,哪個人曾經進入了失信名單。這些信息綜合起來,可以用來做一個公司或者個人的信譽記錄。

我試著打開了一下排名第四位的“信用中國”。

抢票软件背后,无数个叫做“爬虫”的东西,你了解多少?

在這個平臺上,你只要輸入一個身份證號或者手機號,就可以查詢到一個人的信用情況。拉到最底下一看,這個網站果然是是根紅苗正的。

抢票软件背后,无数个叫做“爬虫”的东西,你了解多少?

如果一家公司要對外做信譽庫的服務,它必須先把信用中國的信息下載到自己的庫裡,然後才能和其他數據進行綜合運算。

如此,信用中國被爬,也就很容易解釋了。

不過剛才那張表格裡,排名第七的是四川住建廳。這又是什麼騷操作?

根據御風的推測,這很可能是某些公司提供的一項“特殊服務”:

他們把四川省各個地區的招標情況彙總起來,然後實時提醒那些房地產公司:別睡了,起來投標了。

二、爬蟲戰爭

說了這麼多,我猜你會有幾個疑問。

問題 1、爬蟲搞出這麼多姿勢,它究竟是不是違法呢?

這個問題還真的不簡單。

我打開中國網安第一大法《網絡安全法》仔細看了半小時,在裡面沒有發現“爬取網絡公開信息被認定為違法”的條款。

於是我又繼續搜索,發現了幾條司法解釋:

未經授權爬取用戶手機通訊錄超過50條記錄;未經授權抓取用戶淘寶交易記錄超過500條;未經授權讀取用戶運營商網站通話記錄超過500條;未經授權讀取用戶公積金社保記錄的超過50000條的。以上這些情況可以入刑。

但是仔細看看,如果我只是用機器代替了人的手點擊鼠標敲擊鍵盤,接觸的都是公開信息,並不觸犯這些司法解釋。(這只是我簡單查詢後的結果,不代表任何官方意見)

但是,對企業來說,爬蟲卻著實傷害了自己。有句話說:“主救自救者。”他們得組織“民兵”自己保衛自己。

問題 2、爬蟲戰爭誰會贏?

爬蟲和被爬企業越來越勢不兩立。

說白了,他們的對抗都是在阻擋對方的財路。所以下手都挺重。

企業經典的對抗方式,大概有幾種:圖片驗證碼、滑塊驗證、封禁 IP、給訪問者增加一些加解密運算,耗費爬蟲的程序資源等等。

抢票软件背后,无数个叫做“爬虫”的东西,你了解多少?

這張圖來自極驗驗證的滑塊驗證技術

除了剛才這些小模塊,企業還可以通過 WAF(Web 應用防火牆)來防護,WAF 的功能就是通過設置一些規則,攔截掉那些不符合規則的請求。

但是,爬蟲的請求,和真人的請求真的太像了。

我覺得,對這種戰爭一個形象的比喻就是抗癌。癌細胞的目的就是拼命躲過免疫細胞的識別,而免疫細胞的目標就是拼命分辨哪個是好細胞哪個是癌細胞。

在我看來,這場對抗爬蟲的常規戰眼看就要升級為“智能戰”,而且戰線會向雲端轉移。

比如騰訊雲的 WAF,聽說最近就要通過人工智能的方法來識別爬蟲。這裡就不幫他們打廣告了。還有很多其他的雲安全廠商,也開始主推反爬蟲的技術。

不過,就像人類目前難以消滅癌症一樣,企業也難以完全消滅爬蟲。但是我相信,在對抗中這條戰線會達到一個精妙的平衡。這個戰線每向前推進一步,都需要安全研究員付出艱辛的努力。

三、《中國焦慮圖鑑》

最後,看一張秘密表格。

抢票软件背后,无数个叫做“爬虫”的东西,你了解多少?

這是被監測到的受爬蟲侵擾最多的 Top50。(採樣數據,僅供參考)

這張表裡,除了google、Youtube、ask、亞洲航空這四家企業之外,應該全是中國企業(或機關)。正是從這些名字背後,我體會到了很多人的辛酸和焦慮。

爬蟲是趨利的,它們永遠會向有利益的地方爬行。而爬蟲覺得有利益的地方,往往是我們不忍提及的隱痛。

你看,排名第1的“中國鐵路路客戶服務中心”

無數像么哥一樣的遊子,他們奮鬥在一個遠離家鄉的城市,為了讓家人有更幸福的生活。正是他們難以買到過年回家車票的事實,才把 12306 推上了爬蟲榜的第一名。

你看,排名第8的“最高人民法院公告查詢”

在中國,我們的信用體系還很不完善,騙子和老賴還可以繼續矇騙新人。所以才催生了爬蟲收集法院公告,形成民間信用記錄的服務。

你看,排名第15的“北京市預約掛號統一平臺”

我們的醫療改革在進行,但像你我一樣的普通人仍然看病難,看病貴。又便宜又好的醫療資源需要爭奪,這才有了“一號難求”的現實,才有了黃牛用爬蟲拼命搶號的現象。

自不用說那些神坑的虛假廣告,衝榜刷量,背後都有爬蟲的影子。

有人說技術有罪,有人說技術無罪。

我不知道技術是否有罪,我只知道,這些盤踞在我們廣袤版圖上數以十億計的爬蟲,無時無刻不在提醒著我們:

抱怨不會讓這個世界變得更好,你想生活在一個怎樣的世界,就要用自己的雙手去創造它。

抢票软件背后,无数个叫做“爬虫”的东西,你了解多少?

再自我介紹一下吧。我叫史中,是一個傾心故事的科技記者。我的日常是和各路大神聊天。如果想和我做朋友,可以關注微博:@史中方槍槍,或者搜索微信:shizhongst

不想走丟的話,你也可以關注我的公眾號“淺黑科技”

閱讀清單

十天,幾千塊遊色達川藏北線,還轉南線稻城亞丁到拉薩,不可能的!!!

- END -


分享到:


相關文章: