溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

網(wǎng)絡(luò)爬蟲到底是什么意思

發(fā)布時間:2021-09-13 09:25:21 來源:億速云 閱讀:253 作者:chen 欄目:編程語言

這篇文章主要介紹“網(wǎng)絡(luò)爬蟲到底是什么意思”,在日常操作中,相信很多人在網(wǎng)絡(luò)爬蟲到底是什么意思問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”網(wǎng)絡(luò)爬蟲到底是什么意思”的疑惑有所幫助!接下來,請跟著小編一起來學(xué)習(xí)吧!

互聯(lián)網(wǎng)誕生之初,是為了讓人們更容易的分享數(shù)據(jù)、交流通訊。互聯(lián)網(wǎng)是橋梁,連接了世界各地的人們。網(wǎng)站的點擊、瀏覽都是人為的,與你聊天的也是活生生的人。然而,隨著技術(shù)的發(fā)展,人們對數(shù)據(jù)的渴望,出現(xiàn)了各種網(wǎng)絡(luò)機器人,這個時候,你不知道屏幕那端跟你聊天的是一個人還是一條狗,你也不知道你網(wǎng)站的瀏覽量是人點擊出來的,還是機器爬出來的。

表面上看,互聯(lián)網(wǎng)上是各種各樣的人;暗地里,已經(jīng)布滿了形形色色的網(wǎng)絡(luò)爬蟲。

一、搜索引擎時代的網(wǎng)絡(luò)爬蟲

關(guān)于網(wǎng)絡(luò)爬蟲的概念,我們先來瞅瞅維基百科(Wikipedia)上面的定義:

網(wǎng)絡(luò)爬蟲(英語:web crawler),也叫網(wǎng)上蜘蛛(spider),是一種用來自動瀏覽萬維網(wǎng)的網(wǎng)絡(luò)機器人。其目的一般為編纂網(wǎng)絡(luò)索引。

這里提到的編纂網(wǎng)絡(luò)索引,就是搜索引擎干的事情。我們對搜索引擎并不陌生,Google、百度等搜索引擎可能每天都在幫我們快速獲得信息??赡苄≡硞円獑?,搜索引擎的工作過程是怎樣的呢?

首先,就是有網(wǎng)絡(luò)爬蟲不斷抓取各個網(wǎng)站的網(wǎng)頁,存放到搜索引擎的數(shù)據(jù)庫;
接著,索引程序讀取數(shù)據(jù)庫的網(wǎng)頁進行清理,建立倒排索引;
最后,搜索程序接收用戶的查詢關(guān)鍵詞,去索引里面找到相關(guān)內(nèi)容,并通過一定的排序算法(Pagerank等)把最相關(guān)最好的結(jié)果排在最前面呈現(xiàn)給用戶。

看上去簡簡單單的三個部分,卻構(gòu)成了強大復(fù)雜的搜索引擎系統(tǒng)。而網(wǎng)絡(luò)爬蟲是其中最基礎(chǔ)也很重要的一部分,它決定著搜索引擎數(shù)據(jù)的完整性和豐富性。我們也看到網(wǎng)絡(luò)爬蟲的主要作用是獲取數(shù)據(jù)。

由此簡單地說,網(wǎng)絡(luò)爬蟲就是獲取互聯(lián)網(wǎng)公開數(shù)據(jù)的自動化工具。

這里要強調(diào)一下,網(wǎng)絡(luò)爬蟲爬取的是互聯(lián)網(wǎng)上的公開數(shù)據(jù),而不是通過特殊技術(shù)非法入侵到網(wǎng)站服務(wù)器獲取的非公開數(shù)據(jù)。

可能你要問,什么是“公開數(shù)據(jù)”呢?簡而言之,就是網(wǎng)站上公開讓用戶瀏覽、獲取的數(shù)據(jù)。

雖然數(shù)據(jù)是公開的,但是當(dāng)某人或機構(gòu)(如,搜索引擎)大量收集這些數(shù)據(jù)并因此獲利時,也會讓數(shù)據(jù)生產(chǎn)方——網(wǎng)站很不爽,由此而產(chǎn)生法律糾紛。比如,早些年Google因此而惹上官司。

網(wǎng)站們看著搜索引擎因為搜索引擎抓取自己的內(nèi)容而獲利不爽,但也因為搜索引擎帶來的流量而高興不已,于是就出現(xiàn)了網(wǎng)站主動進行搜索引擎優(yōu)化(SEO, Search Engine Optimization),也就是告訴搜索引擎,我這里的內(nèi)容好,快來抓取吧!

搜索引擎和網(wǎng)站的博弈,催生了一個君子協(xié)議: robots.txt。網(wǎng)站在自己的網(wǎng)站上放上這個文件,告訴爬蟲哪些內(nèi)容可以抓,哪些內(nèi)容不可以抓;搜索引擎讀取網(wǎng)站的robots.txt來知道自己的抓取范圍,同時也在訪問網(wǎng)站時通過User-Agent來向網(wǎng)站表明自己的身份(這種表明也是君子協(xié)議,技術(shù)上很容易假扮他人),比如,Google的爬蟲叫做Googlebot,百度的爬蟲叫做Baiduspider。這樣,二者和平共處,互惠互利。

二、大數(shù)據(jù)時代的網(wǎng)絡(luò)爬蟲

時代在發(fā)展,數(shù)據(jù)變得越來越重要,“大數(shù)據(jù)”已經(jīng)成為各行各業(yè)討論的話題,人們對數(shù)據(jù)的渴望也變成貪婪,數(shù)據(jù)也就成了“石油”,爬蟲也就成了“鉆井機”。

為了獲取石油,人們使用鉆井機;為了獲取數(shù)據(jù),人們使用爬蟲。為了獲得數(shù)據(jù),人們把互聯(lián)網(wǎng)鉆的是“千瘡百孔”。哈哈,這里有些夸張。但人們對數(shù)據(jù)的獲取,已經(jīng)打破的君子協(xié)定,和網(wǎng)站們玩起了貓捉老鼠的游戲,展開了道高一尺魔高一丈的較量。

為什么說是較量呢?因為大量爬蟲的行為會給網(wǎng)站帶來網(wǎng)絡(luò)帶寬、服務(wù)器計算力等方面很大的壓力,卻幾乎不帶來任何利益。為了降低這種毫無利益的壓力和避免自己的數(shù)據(jù)被他人集中收集,網(wǎng)站肯定要通過技術(shù)手段來限制爬蟲;另一方面,爬蟲為了獲取石油般的數(shù)據(jù),就想方設(shè)法來突破這種限制。

對于這種較量的理解,還是看活生生的例子來得更透徹。

你有沒有花幾十塊錢讓某個軟件幫你搶火車票?
攻: 搶票爬蟲會不斷訪問12306來獲得火車票座位數(shù)據(jù),并進而購買火車票;
防: 12306網(wǎng)站出了變態(tài)的認證碼,人都經(jīng)常識別錯誤。
各種秒殺讓你很受傷!
攻: 研究網(wǎng)站的秒殺機制,提前寫好爬蟲,秒殺時刻,人快不過機器;
防: 有些秒殺的宣傳作用很大就懶得防;有些秒殺機制復(fù)雜到你很難寫出對應(yīng)的爬蟲;有些秒殺成功被發(fā)現(xiàn)作弊也會被取消。
爬蟲變得越來越多,越來越肆無忌憚,網(wǎng)站也不得不使用各種技術(shù)手段來禁止或限制爬蟲。這些手段大致包括:

使用賬戶保護數(shù)據(jù),數(shù)據(jù)僅對登錄用戶可見;
數(shù)據(jù)多次異步加載;
限制IP訪問頻率,甚至封鎖IP;
輸入驗證碼以獲得訪問權(quán)限;
數(shù)據(jù)在服務(wù)器端加密,瀏覽器端解密;
……
而這些手段也是爬蟲在技術(shù)實現(xiàn)中要解決和突破的問題。

三、網(wǎng)絡(luò)爬蟲的自我約束

看完上面“貓捉老鼠”的游戲的描述,小猿們不禁要問,網(wǎng)站和爬蟲這種對抗較量會不會引起法律問題?
這是一個很好的問題,也是值得每個爬蟲開發(fā)者思考的問題。

爬蟲作為一種技術(shù)本身可能無所謂善惡,但是使用它的人就有善惡之分。如何使用爬蟲,爬取的數(shù)據(jù)如何使用,都可能產(chǎn)生潛在的法律問題。作為技術(shù)開發(fā)的小猿們,都應(yīng)該思考這個問題。無論何種目的,網(wǎng)絡(luò)爬蟲都不能突破法律的底線,同時也有遵守一定的準則:

遵循robots.txt協(xié)議;
避免短時間高并發(fā)訪問目標網(wǎng)站,避免干擾目標網(wǎng)站的正常運行;
不要抓取個人信息,比如手機通訊錄等;
使用抓來的數(shù)據(jù)注意隱私保護,合法合規(guī)。

到此,關(guān)于“網(wǎng)絡(luò)爬蟲到底是什么意思”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識,請繼續(xù)關(guān)注億速云網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI