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