初識(shí)爬蟲
一、爬蟲簡(jiǎn)介
模擬瀏覽器,發(fā)送請(qǐng)求,獲取響應(yīng)
網(wǎng)絡(luò)爬蟲,英文名為Spider,又稱為網(wǎng)頁(yè)蜘蛛,網(wǎng)絡(luò)機(jī)器人,在數(shù)據(jù)分析應(yīng)用中,更多的將爬蟲稱為數(shù)據(jù)采集程序,是一種按照一定的規(guī)則,自動(dòng)地抓取網(wǎng)絡(luò)信息的程序或者腳本。
l 原則上,只要是客戶端(瀏覽器)能做的事情,爬蟲都能夠做
l 爬蟲也只能獲取客戶端(瀏覽器)所展示出來(lái)的數(shù)據(jù)
網(wǎng)絡(luò)中的數(shù)據(jù)可以是由web服務(wù)器【Nginx/Apache】,數(shù)據(jù)庫(kù)服務(wù)【MySQL/Redis/MongoDB】,索引庫(kù),大數(shù)據(jù),視頻/圖片庫(kù),云存儲(chǔ)【阿里云的OSS】等提供的,最主要的來(lái)源是Web服務(wù)器
不過(guò),大家一定要注意哦,可爬取的數(shù)據(jù)必須是公開的,非盈利的,如:如果侵入人家非公開的網(wǎng)絡(luò),人家會(huì)通過(guò)ip定位到你,屬于違法行為的哦,再或者,一些理財(cái)?shù)木W(wǎng)站,如果爬取數(shù)據(jù),肯定是不可以的,如果小伙伴們不聽話,非要去爬取,那任何人都是保護(hù)不了你的哦,狗頭保命~~~
有名的爬蟲案件:簡(jiǎn)歷大數(shù)據(jù)公司“巧達(dá)科技”被一鍋端、“車來(lái)了”涉嫌偷數(shù)據(jù)被警方立案等
二、爬蟲分類
通用爬蟲:
通用網(wǎng)絡(luò)爬蟲從互聯(lián)網(wǎng)中搜集網(wǎng)頁(yè),采集信息,這些網(wǎng)頁(yè)信息決定著整個(gè)引擎系統(tǒng)的內(nèi)容是否豐富,信息是否即時(shí),因此其性能的優(yōu)劣直接影響著搜索引擎的效果
大家要注意哦,通用爬蟲雖然簡(jiǎn)單,方便,但是缺點(diǎn)也是顯而易見的,小助手給大家列舉了幾點(diǎn),大家可以了解一下:
l 通用搜索引擎所返回的結(jié)果都是網(wǎng)頁(yè),而大多情況下,網(wǎng)頁(yè)里90%的內(nèi)容對(duì)用戶來(lái)說(shuō)都是無(wú)用的。
l 不同領(lǐng)域、不同背景的用戶往往具有不同的檢索目的和需求,搜索引擎無(wú)法提供針對(duì)具體某個(gè)用戶的搜索結(jié)果。
l 萬(wàn)維網(wǎng)數(shù)據(jù)形式的豐富和網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,圖片、數(shù)據(jù)庫(kù)、音頻、視頻多媒體等不同數(shù)據(jù)大量出現(xiàn),通用搜索引擎對(duì)這些文件無(wú)能為力,不能很好地發(fā)現(xiàn)和獲取。
l 通用搜索引擎大多提供基于關(guān)鍵字的檢索,難以支持根據(jù)語(yǔ)義信息提出的查詢,無(wú)法準(zhǔn)確理解用戶的具體需求。
聚焦爬蟲:
聚焦爬蟲,是"面向特定主題需求"的一種網(wǎng)絡(luò)爬蟲程序,它與通用搜索引擎爬蟲的區(qū)別在于: 聚焦爬蟲在實(shí)施網(wǎng)頁(yè)抓取時(shí)會(huì)對(duì)內(nèi)容進(jìn)行處理篩選,盡量保證只抓取與需求相關(guān)的網(wǎng)頁(yè)信息, 如12306搶票,或?qū)iT抓取某一個(gè)(某一類)網(wǎng)站數(shù)據(jù)
根據(jù)是否以獲取數(shù)據(jù)為目的,可以分為:
l 功能性爬蟲,給你喜歡的明星投票、點(diǎn)贊
l 數(shù)據(jù)增量爬蟲,比如招聘信息
2. 根據(jù)url地址和對(duì)應(yīng)的頁(yè)面內(nèi)容是否改變,數(shù)據(jù)增量爬蟲可以分為:
l 基于url地址變化、內(nèi)容也隨之變化的數(shù)據(jù)增量爬蟲
l url地址不變、內(nèi)容變化的數(shù)據(jù)增量爬蟲
看到這里,大家是不是發(fā)現(xiàn)通用爬蟲簡(jiǎn)單,但是不實(shí)用,聚焦爬蟲應(yīng)用比較廣泛,而且實(shí)用,但是實(shí)現(xiàn)起來(lái)難度較大,不過(guò)沒(méi)事的哈,有小助手的幫助,我們都能學(xué)會(huì)的,奧利給!!!
三、爬蟲的作用
爬蟲在互聯(lián)網(wǎng)世界中有很多的作用,比如:
1. 數(shù)據(jù)采集,比如:
抓取微博評(píng)論(機(jī)器學(xué)習(xí)輿情監(jiān)控)
抓取招聘網(wǎng)站的招聘信息(數(shù)據(jù)分析、挖掘)
新浪滾動(dòng)新聞
百度新聞網(wǎng)站
2. 軟件測(cè)試
爬蟲之自動(dòng)化測(cè)試
自動(dòng)化測(cè)試所必需的selenium . selenium是一個(gè)用于Web應(yīng)用程序測(cè)試的工具,selenium 測(cè)試直接運(yùn)行在瀏覽器中,就像真正的用戶在操作一樣。 支持的瀏覽器包括IE,chrome和Firefox等。其實(shí)就是借助于selenium做爬蟲的事情。
3. 搶票和投票
4. 網(wǎng)絡(luò)安全
短信轟炸
web漏洞掃描
四、技術(shù)步驟
第1步:爬取數(shù)據(jù),實(shí)際上就是根據(jù)一個(gè)網(wǎng)址向服務(wù)器發(fā)起網(wǎng)絡(luò)請(qǐng)求,獲取到服務(wù)器返回的數(shù)據(jù)
第2步:解析數(shù)據(jù),將服務(wù)器返回的數(shù)據(jù)轉(zhuǎn)換為人容易理解的樣式
第3步:篩選數(shù)據(jù),從大量的數(shù)據(jù)中篩選出需要的數(shù)據(jù)
第4步:存儲(chǔ)數(shù)據(jù),將篩選出來(lái)的有用的數(shù)據(jù)存儲(chǔ)起來(lái),如:數(shù)據(jù)庫(kù),CSV文件,Excel文件,JSON文件等
只要小伙伴們按照這四個(gè)步驟操作,實(shí)現(xiàn)一個(gè)爬蟲任務(wù)還是很簡(jiǎn)單的
好了,我們本節(jié)課的內(nèi)容就到此結(jié)束啦,通過(guò)本節(jié)課的學(xué)習(xí),我們對(duì)爬蟲有了大概的認(rèn)識(shí),并大概了解了爬蟲相關(guān)的一些相關(guān)技術(shù),有了這些概念的加持,對(duì)我們學(xué)習(xí)后面的內(nèi)容會(huì)有很大的幫助,期待大家學(xué)習(xí)完爬蟲的全部課程之后,能有一個(gè)不錯(cuò)的收獲