天天看點

爬蟲應用場景分析

作者:VendyZ

相信大家在春節的時候都有過搶火車票的經曆,對一些搶票軟體一定不會感到陌生。今天我們就來從技術的角度,來看看搶票軟體背後的東西——爬蟲。通俗點說,爬蟲就是模拟人的行為去各個網站溜達,并把看到的資訊背回來的探測機器。下面我們就一起來分析一下爬蟲應用場景的優劣~

一:出行行業

最廣泛使用的履帶是在旅遊業。為什麼?以12306為例。作為中國唯一出售火車票的官方網站,如果你想坐火車,你必須在這個網站上買票。是以,它催生了很多搶票的神奇工具。例如,知行火車票就是利用爬蟲技術不斷重新整理12306網站上的火車票。一旦你找到了一張票,你就可以立即拿走它,讓你買單。當然,好處是非常明顯的。隻要我們知道如何使用手指,我們就可以在家裡搶票,但12306網站本身并不歡迎這種爬行行為。畢竟,高頻率的網頁浏覽和點選會導緻網站崩潰,這對那些搶不到票的人來說是不公平的。是以,爬行技術對旅遊業來說有優勢也有劣勢。

二:社交平台

社交平台是爬行動物經常光顧的地方之一,尤其是微網誌。爬蟲可以擷取一個人的微網誌清單、微網誌狀态、索引等等。有些人可能會問,這些資訊有什麼用?想象一下,如果我可以随意指揮一群機器人,打開某人的微網誌,點選某個項目,然後瘋狂地關注它,點贊或留言。這是标準的僵屍粉工作流程。僵屍粉絲的數量、點贊和評論等都可以通過這套騷操作傳到某個微網誌賬号。還有用爬行動物制作的僵屍粉在微網誌上搶紅包等操作。

三:電商平台

相信大家對所謂的“比價平台”、“聚合電商”、“返利平台”都很熟悉。事實上,他們的原理也是爬蟲技術的應用。例如,如果你搜尋一個産品,這種聚合平台會自動将各種電子商務公司的産品放在你面前供你選擇。有淘寶、京東和唯品會蘇甯。這是爬行動物的功勞。他們去淘寶,擷取某一産品的圖檔和價格,并在自己的平台上展示。這一原理與搜尋引擎的工作原理相似,隻是它們顯示的不是網頁而是商品。但放在一起比較價格對消費者來說可能是一件好事,但許多電子商務平台并不這麼認為。當然,電子商務還有另一種對抗爬蟲的方式,那就是“網絡應用防火牆”。這裡不讨論反爬蟲技術。

四:搜尋引擎

衆所周知,搜尋引擎決定哪個頁面排名第一。主要名額之一是檢視哪些搜尋結果被更頻繁地點選。一種黑色SEO方法是使用爬蟲不斷刷頁面點選流量。例如,如果你搜尋一個特定的“關鍵字”,然後拼命地點選結果中的連結,這個網站在搜尋引擎中的權重自然會上升。但這種做法是錯誤的。這是爬蟲被用來利用的缺點。任何搜尋引擎都不能允許外人篡改自己的搜尋結果,否則它将失去宣傳。是以百度搜尋引擎會不定期地調整算法,以對抗黑SEO行為。網站一旦被發現,就會受到“斷電”,得不償失。總的來說,爬行技術有優點也有缺點。這取決于你如何使用它。

分析爬蟲應用場景的利弊,我們可以發現爬蟲技術更像是一把雙刃劍,技術本身是無罪的主要看使用爬蟲技術的人如何運用。當然爬取網絡上的公開資訊還是不算違法的,如果你想利用爬蟲技術竊取隐私資訊來牟利則是萬萬不可取的。總之,大家一定要在法律允許的範圍使用爬蟲技術。

#反爬蟲政策

有爬蟲就有可能會有反爬蟲,有些網站的資料比較敏感,不想讓你擷取,這時該公司就會采取各種反爬措施。

一、封鎖ip

這是比較簡單粗暴的方式,查詢機關時間内請求次數過多的賬号,然後查到賬号的電腦ip後,直接屏蔽這台電腦的通路,但是誤傷率也比較高,要謹慎使用。

二、把敏感資訊用圖檔替換

電商平台的商品價格資訊是比較敏感的,有些平台會把價格型号資訊用圖檔來代替展示,這樣确實能防住爬蟲,但是随着機器學習的發展,現在識别圖檔的技術越來越強,慢慢的這個處理辦法的效果也不是那麼好了。

三、網頁所見非所得

通過一定的算法規則,把虛假資訊和真正資訊做下映射,在網頁代碼裡面存的是虛假資訊,但是顯示的時候,利用算法規則和ttf字型檔案映射出真實資訊。

四、人工輸入動态碼

有些網站為了避免被爬,在你通路頁面之前,比如輸入一個驗證身份且有有效期的動态碼。

五、法律途徑

爬蟲違法嗎?現在的爬蟲在法律層面還是有點擦邊球,爬蟲的官司現在還是有的,通過法律途徑也算是一種保護資料的方式

爬蟲的合法性:

俗話說:“爬蟲爬得歡,監獄要坐穿;資料玩的溜,牢飯吃個夠”。

網絡爬蟲相關法律規範現況:

在法律層次,大陸有着相關規定,當網絡爬蟲侵犯了個人隐私時,司法實踐中常用刑法第二百五十三條之一侵犯公民個人資訊罪對其進行制裁,而當其單純地對網絡資料資訊侵害時,則通常适用刑法第二百八十五條及第二百八十六條對其進行規制。但這其中也存在着一定的缺陷,由于網際網路新型技術發展過快,立法工作很難做到與時俱進,故已有的法律法規存在滞後性、保守性等特點;另外,網絡爬蟲應用本身就有着難以判斷犯罪與否的特點,其行為在司法實踐中并沒有明确的區分标準,導緻法官在面對此類案件時可能會束手無策。

爬蟲是否違法視情況而定。

合法的爬蟲:

網絡爬蟲的合法應用需要注意以下幾點:1、要求網絡爬蟲在爬取公開的資料時,沒有辨別不可爬取;2、爬蟲在網上爬取資料不能影響他人伺服器的正常運作;3、爬取資料時不影響他人業務正常進行。網絡爬蟲的正常使用并不會觸犯法律的紅線,而且這一技術具有較強的實用性,打破了資訊壁壘,給網絡使用者提供巨大的資訊擷取便利,給商業機構帶來了巨大的商業利益和發展機遇。合法使用網絡爬蟲利大于弊。

不合法的爬蟲:

1、惡意爬取使用者個人資料——可能侵犯的公民的個人隐私。大陸網絡安全法、刑法都對保護公民個人資訊做出了相關規定,當網絡爬蟲惡意爬取個人資訊時,司法實踐中常适用《網絡安全法》第四十一條、第四十四條以及《刑法》第二八五十三條之一的相關規定對犯罪行為作出判決,可能判處侵犯公民個人資訊罪。

(《網絡安全法》第四十一條收集、使用個人資訊,應當遵循合法、正當、必要的原則,公開收集、使用規則,明示收集、使用資訊的目的、方式和範圍,并經被收集者同意。

網絡營運者不得收集與其提供的服務無關的個人資訊,不得違反法律、行政法規的規定和雙方的約定收集、使用個人資訊,并應當依照法律、行政法規的規定和與使用者的約定,處理其儲存的個人資訊。

《網絡安全法》第四十四條任何個人群組織不得竊取或者以其他非法方式擷取個人資訊。

《刑法》第二百五十三條 之一【侵犯公民個人資訊罪】違反國家有關規定,向他人出售或者提供公民個人資訊,情節嚴重的,處三年以下有期徒刑或者拘役,并處或者單處罰金;情節特别嚴重的,處三年以上七年以下有期徒刑,并處罰金。

違反國家有關規定,将在履行職責或者提供服務過程中獲得的公民個人資訊,出售或者提供給他人的,依照前款的規定從重處罰。

竊取或者以其他方法非法擷取公民個人資訊的,依照第一款的規定處罰。

機關犯前三款罪的,對機關判處罰金,并對其直接負責的主管人員和其他直接責任人員,依照各該款的規定處罰。)

2、頁面上标明不得爬取、未授權爬取——明知沒有授權而故意避開或強行突破網站或App的反爬蟲技術設定進行的爬取行為,屬于“未經授權”通路或擷取資料,行為人應依法承擔相應責任包括刑事責任。根據大陸刑法第二百八十五條和第二百八十六條規定,突破技術屏障入侵他人計算機系統、擷取系統内的資料,可能涉及的罪名包括非法侵入計算機資訊系統罪、非法擷取計算機資訊系統資料罪、破壞計算機資訊系統罪。

(《刑法》第二百八十五條【非法侵入計算機資訊系統罪】違反國家規定,侵入國家事務、國防建設、尖端科學技術領域的計算機資訊系統的,處三年以下有期徒刑或者拘役。

【非法擷取計算機資訊系統資料、非法控制計算機資訊系統罪】違反國家規定,侵入前款規定以外的計算機資訊系統或者采用其他技術手段,擷取該計算機資訊系統中存儲、處理或者傳輸的資料,或者對該計算機資訊系統實施非法控制,情節嚴重的,處三年以下有期徒刑或者拘役,并處或者單處罰金;情節特别嚴重的,處三年以上七年以下有期徒刑,并處罰金。

【提供侵入、非法控制計算機資訊系統程式、工具罪】提供專門用于侵入、非法控制計算機資訊系統的程式、工具,或者明知他人實施侵入、非法控制計算機資訊系統的違法犯罪行為而為其提供程式、工具,情節嚴重的,依照前款的規定處罰。

機關犯前三款罪的,對機關判處罰金,并對其直接負責的主管人員和其他直接責任人員,依照各該款的規定處罰。

《刑法》第二百八十六條【破壞計算機資訊系統罪】違反國家規定,對計算機資訊系統功能進行删除、修改、增加、幹擾,造成計算機資訊系統不能正常運作,後果嚴重的,處五年以下有期徒刑或者拘役;後果特别嚴重的,處五年以上有期徒刑。

違反國家規定,對計算機資訊系統中存儲、處理或者傳輸的資料和應用程式進行删除、修改、增加的操作,後果嚴重的,依照前款的規定處罰。

故意制作、傳播計算機病毒等破壞性程式,影響計算機系統正常運作,後果嚴重的,依照第一款的規定處罰。)

3、影響業務、影響伺服器、爬取部分網站、APP資料超過指定數量——法律對于網絡爬蟲爬取資訊的數量、通路量以及影響網站正常運作的網絡爬蟲也有着明确的規定,在出現上述情況時,根據《資料安全管理辦法》第十六條對其進行規制。(《資料安全管理辦法》第十六條是國家首次針對爬蟲進行的明确規制。)

(《資料安全管理辦法》第十六條利用自動化手段通路收集網站資料,不得妨礙網站正常運作;此類行為嚴重影響網站運作,如自動化通路收集流量超過網站日均流量三分之一,網站要求停止自動化通路收集時,應當停止。)

此外:還有↓

明文規定不得爬取

在域名後加上/robots.txt檢視

類似DDOS攻擊的問題

disallow就是不允許爬蟲,allow允許。

但是并非所有網站都會有robots.txt來提供是否允許爬蟲的資訊,這時候就看自己了

我們能爬的資料并不代表合法,需要謹慎判斷。

提示:部分爬蟲雖然違法,但公司、或企業不會直接報警。會采用反爬的手段,嚴重後才會報警。

robots協定的局限性:

在法律之外,有着robots 協定這一行業内的技術規範,但是robots 協定并非法律層面上的協定,也非法律意義上的合同,而是一種沒有經過标準化組織備案的非官方協定。這一協定沒有強制力,僅能起到提醒的作用,無法對網絡爬蟲存在的違規行為進行監督和阻攔,故這一協定的實施需要爬蟲使用方自覺遵守。同時,這一協定的涉及的内容并不完善,無法對網絡爬蟲使用中的各種問題都進行合理有效的規制,實踐中也存在企業使用網絡爬蟲并未違反協定内容但違反了法律的情況。可見,僅依靠robots協定很難保證網絡爬蟲使用的合法化。

解決措施:

需要采取一定的措施來保持網絡爬蟲技術的合法性。首先,應進一步限縮網絡爬蟲的使用範圍,比如強制要求網絡爬蟲隻能爬取網際網路上公開的資訊、網絡爬蟲的使用不得影響原網站的正常運作、網絡爬蟲爬取到的個人資訊未經同意不得公開、在爬取資訊前明确網絡爬蟲的目的等。網絡爬蟲這一技術是一把雙刃劍,如何使用就是決定其價值的關鍵,對網絡爬蟲技術進行一定的合法性限定就是一條可行之路。詳見論文↓

(詳見論文《網絡爬蟲的演變及其合法性限定》:網絡爬蟲要展現并保持技術的中立性,則需要在法律上進行合法性限定,也即劃定爬蟲技術合法使用的邊界。我們認為,可以從以下三個方面對網絡爬蟲進行合法性限定。其一,就爬取對象來說,網絡爬蟲應是針對公開資料的爬取;其二,就資料爬取所采取的手段或方法而言,網絡爬蟲不應具有侵入性。是否具有侵入性應當從技術本身是否具有侵入性和資料爬取行為是否遵守爬蟲協定與合同約定兩個方面來判定。其三,從網絡爬蟲技術的開發、利用主體的角度,應當進行“目的正當性”限定。這三個限定條件是網絡爬蟲合法性判斷的充要條件,即隻有滿足這三個條件的資料爬取行為才是合法的。反之,不滿足其中任何一個條件,便可認定資料爬取行為的非法性。……)

其次,應加強立法,促進《網絡安全法》《刑法》等法律中關于網際網路時代個人隐私資訊保護以及網絡中資料歸屬方面的立法;還可以設立專門的辦公室、專家組對網絡爬蟲技術立法進行實時的調整,緊随科技發展。針對上述所說的科技進步較快,立法工作很難做到與時俱進,已有的法律法規存在滞後性、保守性等特點,采用專家組常更新、常解釋法條法規,針對典型案例進行公示、集體學習等方法可以緩解上述問題。

再者,應建立完善的合理的舉報機制,鼓勵舉報違法的爬取行為。增設多條監督舉報途徑,比如:可以開設專門網站、辦公室、信箱等。在中國目前的國情下,可以開設專門的技術部門對網絡上的爬蟲進行特别監管,并與檢察院挂鈎,相輔相成,技術人員發現并處理網絡上的非法爬蟲,檢察院則對部門本身進行監督,防止部門内部變質。

此外,還可以對使用網絡爬蟲技術的個人和企業進行實名認證,無認證則不可使用,一旦發現,必将嚴懲不貸;或者定期組織司法、執法人員對相關法律法規進行學習等。