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