您好,登錄后才能下訂單哦!
這篇文章主要介紹“網絡爬蟲到底是什么意思”,在日常操作中,相信很多人在網絡爬蟲到底是什么意思問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”網絡爬蟲到底是什么意思”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
互聯網誕生之初,是為了讓人們更容易的分享數據、交流通訊。互聯網是橋梁,連接了世界各地的人們。網站的點擊、瀏覽都是人為的,與你聊天的也是活生生的人。然而,隨著技術的發展,人們對數據的渴望,出現了各種網絡機器人,這個時候,你不知道屏幕那端跟你聊天的是一個人還是一條狗,你也不知道你網站的瀏覽量是人點擊出來的,還是機器爬出來的。
表面上看,互聯網上是各種各樣的人;暗地里,已經布滿了形形色色的網絡爬蟲。
一、搜索引擎時代的網絡爬蟲
關于網絡爬蟲的概念,我們先來瞅瞅維基百科(Wikipedia)上面的定義:
網絡爬蟲(英語:web crawler),也叫網上蜘蛛(spider),是一種用來自動瀏覽萬維網的網絡機器人。其目的一般為編纂網絡索引。
這里提到的編纂網絡索引,就是搜索引擎干的事情。我們對搜索引擎并不陌生,Google、百度等搜索引擎可能每天都在幫我們快速獲得信息。可能小猿們要問,搜索引擎的工作過程是怎樣的呢?
首先,就是有網絡爬蟲不斷抓取各個網站的網頁,存放到搜索引擎的數據庫;
接著,索引程序讀取數據庫的網頁進行清理,建立倒排索引;
最后,搜索程序接收用戶的查詢關鍵詞,去索引里面找到相關內容,并通過一定的排序算法(Pagerank等)把最相關最好的結果排在最前面呈現給用戶。
看上去簡簡單單的三個部分,卻構成了強大復雜的搜索引擎系統。而網絡爬蟲是其中最基礎也很重要的一部分,它決定著搜索引擎數據的完整性和豐富性。我們也看到網絡爬蟲的主要作用是獲取數據。
由此簡單地說,網絡爬蟲就是獲取互聯網公開數據的自動化工具。
這里要強調一下,網絡爬蟲爬取的是互聯網上的公開數據,而不是通過特殊技術非法入侵到網站服務器獲取的非公開數據。
可能你要問,什么是“公開數據”呢?簡而言之,就是網站上公開讓用戶瀏覽、獲取的數據。
雖然數據是公開的,但是當某人或機構(如,搜索引擎)大量收集這些數據并因此獲利時,也會讓數據生產方——網站很不爽,由此而產生法律糾紛。比如,早些年Google因此而惹上官司。
網站們看著搜索引擎因為搜索引擎抓取自己的內容而獲利不爽,但也因為搜索引擎帶來的流量而高興不已,于是就出現了網站主動進行搜索引擎優化(SEO, Search Engine Optimization),也就是告訴搜索引擎,我這里的內容好,快來抓取吧!
搜索引擎和網站的博弈,催生了一個君子協議: robots.txt。網站在自己的網站上放上這個文件,告訴爬蟲哪些內容可以抓,哪些內容不可以抓;搜索引擎讀取網站的robots.txt來知道自己的抓取范圍,同時也在訪問網站時通過User-Agent來向網站表明自己的身份(這種表明也是君子協議,技術上很容易假扮他人),比如,Google的爬蟲叫做Googlebot,百度的爬蟲叫做Baiduspider。這樣,二者和平共處,互惠互利。
二、大數據時代的網絡爬蟲
時代在發展,數據變得越來越重要,“大數據”已經成為各行各業討論的話題,人們對數據的渴望也變成貪婪,數據也就成了“石油”,爬蟲也就成了“鉆井機”。
為了獲取石油,人們使用鉆井機;為了獲取數據,人們使用爬蟲。為了獲得數據,人們把互聯網鉆的是“千瘡百孔”。哈哈,這里有些夸張。但人們對數據的獲取,已經打破的君子協定,和網站們玩起了貓捉老鼠的游戲,展開了道高一尺魔高一丈的較量。
為什么說是較量呢?因為大量爬蟲的行為會給網站帶來網絡帶寬、服務器計算力等方面很大的壓力,卻幾乎不帶來任何利益。為了降低這種毫無利益的壓力和避免自己的數據被他人集中收集,網站肯定要通過技術手段來限制爬蟲;另一方面,爬蟲為了獲取石油般的數據,就想方設法來突破這種限制。
對于這種較量的理解,還是看活生生的例子來得更透徹。
你有沒有花幾十塊錢讓某個軟件幫你搶火車票?
攻: 搶票爬蟲會不斷訪問12306來獲得火車票座位數據,并進而購買火車票;
防: 12306網站出了變態的認證碼,人都經常識別錯誤。
各種秒殺讓你很受傷!
攻: 研究網站的秒殺機制,提前寫好爬蟲,秒殺時刻,人快不過機器;
防: 有些秒殺的宣傳作用很大就懶得防;有些秒殺機制復雜到你很難寫出對應的爬蟲;有些秒殺成功被發現作弊也會被取消。
爬蟲變得越來越多,越來越肆無忌憚,網站也不得不使用各種技術手段來禁止或限制爬蟲。這些手段大致包括:
使用賬戶保護數據,數據僅對登錄用戶可見;
數據多次異步加載;
限制IP訪問頻率,甚至封鎖IP;
輸入驗證碼以獲得訪問權限;
數據在服務器端加密,瀏覽器端解密;
……
而這些手段也是爬蟲在技術實現中要解決和突破的問題。
三、網絡爬蟲的自我約束
看完上面“貓捉老鼠”的游戲的描述,小猿們不禁要問,網站和爬蟲這種對抗較量會不會引起法律問題?
這是一個很好的問題,也是值得每個爬蟲開發者思考的問題。
爬蟲作為一種技術本身可能無所謂善惡,但是使用它的人就有善惡之分。如何使用爬蟲,爬取的數據如何使用,都可能產生潛在的法律問題。作為技術開發的小猿們,都應該思考這個問題。無論何種目的,網絡爬蟲都不能突破法律的底線,同時也有遵守一定的準則:
遵循robots.txt協議;
避免短時間高并發訪問目標網站,避免干擾目標網站的正常運行;
不要抓取個人信息,比如手機通訊錄等;
使用抓來的數據注意隱私保護,合法合規。
到此,關于“網絡爬蟲到底是什么意思”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。