偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

放下你手里的代碼,小心被抓!

新聞
放下你手里的代碼,小心被抓。最近程序員圈子不乏這樣的戲謔調(diào)侃。

 放下你手里的代碼,小心被抓。最近程序員圈子不乏這樣的戲謔調(diào)侃。

[[280735]] 

圖片來自 Pexels

原因是最近發(fā)生的多起涉及爬蟲技術(shù)的公司被司法部門調(diào)查。近日,51 信用卡被查,更是將暴力催收背后非法使用爬蟲技術(shù)爬取個人隱私數(shù)據(jù)的丑行,暴露在陽光之下。

一時間,“爬蟲”成為眾矢之的,一些公司緊急下架了爬蟲相關(guān)的招聘信息,給大數(shù)據(jù)風(fēng)控、人工智能從業(yè)者帶來些許恐慌,頭發(fā)又多落了幾根。

實際上,大部分人都聽說過爬蟲,認(rèn)為爬蟲就是到人家網(wǎng)站上去爬東西、偷數(shù)據(jù),有些人甚至認(rèn)為只要有爬蟲,什么數(shù)據(jù)都可以搞到。

今天,我們就打開爬蟲這個“工具箱”,把涉及到的技術(shù)盲區(qū)放到燈光下,讓大家可以清楚地看下。下面,本文就從這個角度來聊聊爬蟲這個熟悉而又陌生的技術(shù)。

爬蟲的技術(shù)原理

搜索引擎收集網(wǎng)上信息的主要手段就是網(wǎng)絡(luò)爬蟲(也叫網(wǎng)頁蜘蛛、網(wǎng)絡(luò)機器人)。

它是一種“自動化瀏覽網(wǎng)絡(luò)”的程序,按照一定的規(guī)則,自動抓取互聯(lián)網(wǎng)信息,比如:網(wǎng)頁、各類文檔、圖片、音頻、視頻等。

搜索引擎通過索引技術(shù)組織這些信息,根據(jù)用戶的查詢,快速地提供搜索結(jié)果。設(shè)想一下,我們平時瀏覽網(wǎng)頁的時候會怎么做?

一般情況下,首先,會用瀏覽器打開一個網(wǎng)站的主頁,在頁面上尋找感興趣的內(nèi)容,然后點擊本站或其他網(wǎng)站在該網(wǎng)頁上的鏈接,跳轉(zhuǎn)到新的網(wǎng)頁,閱讀內(nèi)容,如此循環(huán)往復(fù)。

如下圖所示:

 

圖中的虛線圓角矩形代表一個網(wǎng)站,每個實線矩形表示一個網(wǎng)頁??梢钥吹?,每個網(wǎng)站一般以首頁為入口,該首頁鏈接到幾個、幾萬個、甚至上千萬個的內(nèi)部網(wǎng)頁。

同時,這些網(wǎng)頁往往又鏈接了很多外部網(wǎng)站。例如,用戶從蘇寧金融的網(wǎng)頁為起點,瀏覽發(fā)現(xiàn)了 PP 視頻的鏈接,點擊后跳轉(zhuǎn)到了 PP 視頻主頁,作為體育愛好者,在體育頻道中找到了相關(guān)的新浪微博的內(nèi)容,再次點擊后又來到微博的頁面繼續(xù)閱讀,從而形成了一條路徑。

如果把所有的可能路徑呈現(xiàn)出來,就會看到一個網(wǎng)絡(luò)結(jié)構(gòu)。網(wǎng)絡(luò)爬蟲模擬了人們?yōu)g覽網(wǎng)頁的行為,只是用程序代替了人類的操作,在廣度和深度上遍歷網(wǎng)頁。

如果把互聯(lián)網(wǎng)上的網(wǎng)頁或網(wǎng)站理解為一個個節(jié)點,大量的網(wǎng)頁或網(wǎng)站通過超鏈接形成網(wǎng)狀結(jié)構(gòu)。

爬蟲通過遍歷網(wǎng)頁上的鏈接,從一個節(jié)點跳轉(zhuǎn)到下一個節(jié)點,就像是在一張巨大的網(wǎng)上爬行,但是比人類的速度更快,跳轉(zhuǎn)的節(jié)點更全面,所以被形象地稱為網(wǎng)絡(luò)爬蟲或網(wǎng)絡(luò)蜘蛛。

爬蟲的發(fā)展歷史

網(wǎng)絡(luò)爬蟲最早的用途是服務(wù)于搜索引擎的數(shù)據(jù)收集,而現(xiàn)代意義上的搜索引擎的鼻祖是 1990 年由加拿大麥吉爾大學(xué)(University of McGill)學(xué)生 Alan Emtage 發(fā)明的的 Archie。

人們使用 FTP 服務(wù)器共享交流資源,大量的文件散布在各個 FTP 主機上,查詢起來非常不方便。

因此,他開發(fā)了一個可以按照文件名查找文件的系統(tǒng),能定期搜集并分析 FTP 服務(wù)器上的文件名信息,自動索引這些文件。

工作原理與現(xiàn)在的搜索引擎已經(jīng)非常接近,依靠腳本程序自動搜索分散在各處 FTP 主機中的文件,然后對有關(guān)信息進(jìn)行索引,供使用者以一定的表達(dá)式查詢。

世界上第一個網(wǎng)絡(luò)爬蟲“互聯(lián)網(wǎng)漫游者”(“www wanderer”)是由麻省理工學(xué)院(MIT)的學(xué)生馬休·格雷(Matthew Gray)在 1993 年寫成。

剛開始,它只用來統(tǒng)計互聯(lián)網(wǎng)上的服務(wù)器數(shù)量,后來則發(fā)展為能夠通過它檢索網(wǎng)站域名。

隨著互聯(lián)網(wǎng)的迅速發(fā)展,使得檢索所有新出現(xiàn)的網(wǎng)頁變得越來越困難,因此,在“互聯(lián)網(wǎng)漫游者”基礎(chǔ)上,一些編程者將傳統(tǒng)的“蜘蛛”程序工作原理作了些改進(jìn)。

其設(shè)想是,既然所有網(wǎng)頁都可能有連向其他網(wǎng)站的鏈接,那么從跟蹤一個網(wǎng)站的鏈接開始,就有可能檢索整個互聯(lián)網(wǎng)。

其后,無數(shù)的搜索引擎促使了爬蟲越寫越復(fù)雜,并逐漸向多策略、負(fù)載均衡及大規(guī)模增量抓取等方向發(fā)展。

爬蟲的工作成果是搜索引擎能夠遍歷鏈接的網(wǎng)頁,甚至被刪除的網(wǎng)頁也可以通過“網(wǎng)頁快照”的功能訪問。

網(wǎng)絡(luò)爬蟲的禮儀

禮儀一:robots.txt 文件

每個行業(yè)都有其 Code of Conduct,成為行為準(zhǔn)則或行為規(guī)范。比如,你是某個協(xié)會中的成員,那就必須遵守這個協(xié)會的行為準(zhǔn)則,破壞了行為準(zhǔn)則是要被踢出去的。

最簡單的例子,你加入的很多微信群,一般群主都會要求不可以私自發(fā)廣告,如果未經(jīng)允許發(fā)了廣告,會被立刻踢出群,但是發(fā)紅包就沒事,這就是行為準(zhǔn)則。

爬蟲也有行為準(zhǔn)則。早在 1994 年,搜索引擎技術(shù)剛剛興起。那時的初創(chuàng)搜索引擎公司,比如 AltaVista 和 DogPile,通過爬蟲技術(shù)來采集整個互聯(lián)網(wǎng)的資源,與 Yahoo 這樣的資源分類網(wǎng)站激烈競爭。

隨著互聯(lián)網(wǎng)搜索規(guī)模的增長,爬蟲收集信息的能力快速進(jìn)化,網(wǎng)站開始考慮對于搜索引擎爬取信息做出限制,于是 robots.txt 應(yīng)運而生,成為爬蟲界的“君子協(xié)定”。

robots.txt 文件是業(yè)內(nèi)慣用做法,不是強制性的約束。robots.txt 的形式如下:

 

在上面這個 robots.txt 例子中,所有的爬蟲都被禁止訪問網(wǎng)站的任意內(nèi)容。但是 Google 的爬蟲機器人,可以訪問除了 private 位置的所有內(nèi)容。

如果一個網(wǎng)站上沒有 robots.txt,是被認(rèn)為默許爬蟲爬取所有信息。如果 robots.txt 做了訪問的限制,但是爬蟲卻沒有遵守,那就不是技術(shù)實現(xiàn)這么簡單的事情了。

禮儀二:爬取吞吐量的控制

曾經(jīng)出現(xiàn)假冒 Google 搜索引擎的爬蟲去對網(wǎng)站進(jìn)行 DDoS 攻擊,讓網(wǎng)站癱瘓的事情。

近年來,惡意爬蟲造成的 DDoS 攻擊行為有增無減,給大數(shù)據(jù)行業(yè)蒙上了爬蟲的陰影。

因為其背后的惡意攻擊者,往往具備更為復(fù)雜和專業(yè)的技術(shù),能繞過各種防御機制,讓防范這樣攻擊行為難上加難。

禮儀三:做一個優(yōu)雅的爬蟲

優(yōu)雅的爬蟲背后,一定站著一個文明人或者一個文明團(tuán)隊。他們會考慮自己寫的爬蟲程序是否符合 robots.txt 協(xié)議,是否會對被爬網(wǎng)站的性能造成影響,如何才能不侵害知識產(chǎn)權(quán)所有者的權(quán)益以及非常重要的個人隱私數(shù)據(jù)等問題。

出于能力的差別,并不是每個爬蟲團(tuán)隊都能考慮到這些問題。2018 年,歐盟出臺的《General Data Protection Regulation》(通用數(shù)據(jù)保護(hù)條例)中對數(shù)據(jù)的保護(hù)做出了嚴(yán)格的說明。

2019 年 5 月 28 日,國家互聯(lián)網(wǎng)信息辦公室發(fā)布的《數(shù)據(jù)安全管理辦法》(征求意見稿)對爬蟲和個人信息安全做出了非常嚴(yán)格的規(guī)定。比如:

(1)第十六條 網(wǎng)絡(luò)運營者采取自動化手段訪問收集網(wǎng)站數(shù)據(jù),不得妨礙網(wǎng)站正常運行;此類行為嚴(yán)重影響網(wǎng)站運行,如自動化訪問收集流量超過網(wǎng)站日均流量三分之一,網(wǎng)站要求停止自動化訪問收集時,應(yīng)當(dāng)停止。

(2)第二十七條 網(wǎng)絡(luò)運營者向他人提供個人信息前,應(yīng)當(dāng)評估可能帶來的安全風(fēng)險,并征得個人信息主體同意。

其實,我國 2017 年 6 月 1 日施行的《中華人民共和國網(wǎng)絡(luò)安全法》第四章第四十一條和四十四條就已經(jīng)對個人隱私信息數(shù)據(jù)的收集和使用做出明文規(guī)定,這也與爬蟲直接相關(guān)。

 

法律制度的出臺,給技術(shù)的邊界做出了明確的限定,技術(shù)無罪并不能作為技術(shù)實施者為自己開脫的理由。爬蟲在實現(xiàn)自己需求的同時,必須做到嚴(yán)格遵守行為準(zhǔn)則和法律條例。

各類反爬蟲技術(shù)介紹

為了保護(hù)自己合法權(quán)益不被惡意侵害,不少網(wǎng)站和應(yīng)用 App 應(yīng)用了大量的反爬技術(shù)。

這使得爬蟲技術(shù)中又衍生出反反爬蟲技術(shù),比如各類滑動拼圖、文字點選、圖標(biāo)點選等驗證碼的破解,它們相互促進(jìn)、相互發(fā)展、相互傷害著。

反爬蟲的關(guān)鍵在于阻止被爬蟲批量爬取網(wǎng)站內(nèi)容,反爬蟲技術(shù)的核心在于不斷變更規(guī)則,變換各類驗證手段。

這類技術(shù)的發(fā)展甚至讓人癡迷,比 DOTA 對戰(zhàn)還讓人熱血沸騰。從那晃動如波浪的文字驗證碼圖形的偽裝色里彷佛都能看得見程序員的頭發(fā)。

①圖片/Flash

這是比較常見的反爬手段,將關(guān)鍵數(shù)據(jù)轉(zhuǎn)為圖片,并添加上水印,即使使用了 OCR(Optical Character Recognition,文字識別)也無法識別出來,讓爬蟲端獲取了圖片也得不到信息。早期一些電商的價格標(biāo)簽中經(jīng)常見到這種方式。

②JavaScript 混淆技術(shù)

這是爬蟲程序員遇到最多的一種反爬方式,簡單來說其實就是一種障眼法,本質(zhì)上還是一種加密技術(shù)。

很多網(wǎng)頁中的數(shù)據(jù)是使用 JavaScript 程序來動態(tài)加載的,爬蟲在抓取這樣的網(wǎng)頁數(shù)據(jù)時,需要了解網(wǎng)頁是如何加載該數(shù)據(jù)的,這個過程被稱為逆向工程。

為了防止被逆向工程,就用到 JavaScript 混淆技術(shù),加 JavaScript 代碼進(jìn)行加密,讓別人看不懂。

不過這種方式屬于比較簡單的反爬方式,屬于爬蟲工程師練級的初級階段。

③驗證碼

驗證碼是一種區(qū)分用戶是計算機還是人的公共全自動程序,也是我們經(jīng)常遇到的一種網(wǎng)站訪問驗證方式,主要分為以下幾種:

輸入式驗證碼:這是最最常見的,通過用戶輸入圖片中的字母、數(shù)字、漢字等字符進(jìn)行驗證。

[[280737]] 

圖中 CAPTCHA 的全名是(Completely Automated Public Turing test to tell Computers and Humans Apart),中文翻譯為:全自動區(qū)分計算機與人類的圖靈測試。

實現(xiàn)的方式很簡單,就是問一個電腦答不出來但人類答得出來的問題。不過,現(xiàn)在的爬蟲往往會用深度學(xué)習(xí)技術(shù)對這樣的驗證碼進(jìn)行破解,這樣的圖靈測試已經(jīng)失效。

滑塊式驗證碼:鑒于輸入式的圖形驗證碼的缺點,容易被破解,而且有時候人類都識別不了。

滑塊驗證碼橫空出世,這種驗證碼操作簡便,破解難度大,很快就流行起來了。

破解滑塊驗證碼存在兩大難點:

  • 一是必須知道圖形缺口在哪里,也就是得知道滑塊滑到哪。
  • 二是要模仿出人類滑動的手勢。

這樣的驗證碼增加了一定的難度,也給爬蟲界增加了很多樂趣,一時間大量破解滑塊驗證碼的技術(shù)出現(xiàn)。

[[280738]]

點擊式的圖文驗證和圖標(biāo)選擇:圖文驗證,是通過文字提醒用戶點擊圖中相同字的位置進(jìn)行驗證。 

[[280739]]

圖標(biāo)選擇,是給出一組圖片,按要求點擊其中一張或者多張。 

[[280740]] 

這兩種原理相似,只不過是一個給出文字,點擊圖片中的文字;一個給出圖片,點出符合內(nèi)容的圖片。這兩種方法的共同點就是體驗差,被廣為詬病。

手機驗證碼:對于一些重要的敏感信息訪問,網(wǎng)站或 App 端一般會提供填寫手機驗證碼的要求,通過手機接受網(wǎng)站發(fā)送的驗證碼來進(jìn)一步訪問,這種方式對于數(shù)據(jù)隱私的保護(hù)比較好。

④賬號密碼登陸

網(wǎng)站可以通過賬號登陸來限制爬蟲的訪問權(quán)限,個人在使用很多網(wǎng)站服務(wù)的時候一般是需要進(jìn)行賬號注冊的,使用的時候需要通過賬號密碼登陸才能繼續(xù)使用服務(wù)。

網(wǎng)站可以利用用戶瀏覽器的 Cookie 來對用戶的身份進(jìn)行識別,通過保存在用戶本地瀏覽器中加密的 Cookie 數(shù)據(jù)來進(jìn)行用戶訪問會話的跟蹤。這一般作為前面幾種反爬方式的補充。

爬蟲技術(shù)的發(fā)展方向

傳統(tǒng)網(wǎng)絡(luò)爬蟲最大的應(yīng)用場景是搜索引擎,普通的企業(yè)更多是做網(wǎng)站或應(yīng)用。后來隨著網(wǎng)絡(luò)數(shù)據(jù)分析的需要,以及互聯(lián)網(wǎng)上的輿情事件層出不窮,針對網(wǎng)絡(luò)爬蟲有了大量的需求,采集的對象主要是些新聞資訊。

近些年,由于大數(shù)據(jù)處理和數(shù)據(jù)挖掘技術(shù)的發(fā)展,數(shù)據(jù)資產(chǎn)價值的概念深入人心,爬蟲技術(shù)得到更加廣泛和深入的發(fā)展,采集對象也更豐富,高性能、并發(fā)式的技術(shù)指標(biāo)也更高。

圍繞網(wǎng)絡(luò)爬蟲合法性的討論仍然存在,情況也比較復(fù)雜。目前的趨勢下,許多法律問題還處于模糊地帶,往往取決于具體的案例影響。

然而,可以肯定的是,只要有互聯(lián)網(wǎng),就會有網(wǎng)絡(luò)爬蟲。網(wǎng)絡(luò)爬蟲讓體量巨大的互聯(lián)網(wǎng)變得可以搜索,使爆炸式增長的互聯(lián)網(wǎng)變得更加容易訪問和獲取,在可預(yù)見的未來,互聯(lián)網(wǎng)爬蟲技術(shù)將繼續(xù)得到發(fā)展。

互聯(lián)網(wǎng)作為人類歷史最大的知識倉庫,是非結(jié)構(gòu)化或非標(biāo)準(zhǔn)化的。互聯(lián)網(wǎng)上聚集了大量的文本、圖片、多媒體等數(shù)據(jù),內(nèi)容雖然非常有價值,但是知識提取的難度仍然非常巨大。

語義互聯(lián)網(wǎng)、知識共享等概念越來越普及,真正語義上的互聯(lián)網(wǎng)將是網(wǎng)絡(luò)爬蟲的目標(biāo)。

此外,物聯(lián)網(wǎng)技術(shù)的發(fā)展,將是互聯(lián)網(wǎng)的升級形式,也將是爬蟲技術(shù)未來發(fā)展的方向。

 

責(zé)任編輯:武曉燕 來源: 蘇寧財富資訊
相關(guān)推薦

2019-10-29 14:36:27

代碼爬蟲程序員

2013-03-20 16:05:38

2021-10-12 15:58:53

手機數(shù)據(jù)隱私

2022-04-22 12:16:41

網(wǎng)絡(luò)安全黑客網(wǎng)絡(luò)攻擊

2013-11-20 14:59:00

Cryptolocke勒索軟件惡意程序

2017-07-21 16:26:43

2017-12-01 11:42:00

硬件安全企業(yè)

2025-10-15 07:49:00

2015-06-02 11:35:53

2018-09-07 23:23:55

MYSQL開源代碼

2012-09-10 10:44:30

天天記事華為

2011-08-31 09:30:14

私有云云洗白云計算

2015-06-18 10:16:27

程序員

2009-12-14 15:31:48

2014-08-27 17:20:24

2024-04-01 08:23:20

代碼Javajavascript

2013-07-30 09:45:53

2019-02-12 15:00:32

Javascript命令式編程前端

2009-03-26 18:09:06

2013-03-26 10:59:38

點贊
收藏

51CTO技術(shù)棧公眾號