爬數(shù)據(jù)的意思是:通過網(wǎng)絡(luò)爬蟲程序來獲取需要的網(wǎng)站上的內(nèi)容信息,比如文字、視頻、圖片等數(shù)據(jù)。網(wǎng)絡(luò)爬蟲(網(wǎng)頁蜘蛛)是一種按照一定的規(guī)則,自動(dòng)的抓取萬維網(wǎng)信息的程序或者腳本。
學(xué)習(xí)一些爬數(shù)據(jù)的知識(shí)有什么用呢?
比如:大到大家經(jīng)常使用的搜索引擎(Google, 搜狗);
當(dāng)用戶在Google搜索引擎上檢索相應(yīng)關(guān)鍵詞時(shí),谷歌將對關(guān)鍵詞進(jìn)行分析,從已“收錄”的網(wǎng)頁中找出可能的最符合用戶的條目呈現(xiàn)給用戶;那么,如何獲取這些網(wǎng)頁就是爬蟲需要做的,當(dāng)然如何推送給用戶最有價(jià)值的網(wǎng)頁,也是需要結(jié)合相應(yīng)算法的,這就涉及到數(shù)據(jù)挖掘的的知識(shí)了;
比較小一些的應(yīng)用,比如我們統(tǒng)計(jì)測試工作的工作量,這就需要統(tǒng)計(jì)一周/一月的修改單數(shù)量,jira記的缺陷數(shù)以及具體內(nèi)容;
還有就是最近火熱進(jìn)行的世界杯,如果你想統(tǒng)計(jì)一下各個(gè)球員/國家的數(shù)據(jù),并存儲(chǔ)這些數(shù)據(jù)以供其他用處;
還有就是根據(jù)自己的興趣愛好通過一些數(shù)據(jù)做一些分析等(統(tǒng)計(jì)一本書/一部電影的好評度),這就需要爬取已有網(wǎng)頁的數(shù)據(jù)了,然后通過獲取的數(shù)據(jù)做一些具體的分析/統(tǒng)計(jì)工作等。
學(xué)習(xí)簡單的爬蟲需要具備哪些基礎(chǔ)知識(shí)?
我把基礎(chǔ)知識(shí)分為兩部分:
1、前端基礎(chǔ)知識(shí)
HTML/JSON,CSS; Ajax
參考資料:
http://www.w3school.com.cn/h.asp
http://www.w3school.com.cn/ajax/
http://www.w3school.com.cn/json/
https://www.php.cn/course/list/1.html
https://www.php.cn/course/list/2.html
https://www.html.cn/
2. python編程相關(guān)知識(shí)
(1)Python基礎(chǔ)知識(shí)
基本語法知識(shí),字典,列表,函數(shù),正則表達(dá)式,JSON等
參考資料:
http://www.runoob.com/python3/python3-tutorial.html
https://www.py.cn/
https://www.php.cn/course/list/30.html
(2)Python常用庫:
Python的urllib庫的用法 (此模塊我用的urlretrieve函數(shù)多一些,主要用它保存一些獲取的資源(文檔/圖片/mp3/視頻等))
Python的pyMysql庫 (數(shù)據(jù)庫連接以及增刪改查)
python模塊bs4(需要具備css選擇器,html的樹形結(jié)構(gòu)domTree知識(shí)等,根據(jù)css選擇器/html標(biāo)簽/屬性定位我們需要的內(nèi)容)
python的requests(顧名思義,此模塊用于發(fā)送request請求的/POST/Get等,獲取一個(gè)Response 對象)
python的os模塊 (此模塊提供了非常豐富的方法用來處理文件和目錄。os.path.join/exists函數(shù)用的較多一些)
參考資料:這部分可以參考相關(guān)模塊的接口API文檔
擴(kuò)展資料:
網(wǎng)絡(luò)爬蟲是一個(gè)自動(dòng)提取網(wǎng)頁的程序,它為搜索引擎從萬維網(wǎng)上下載網(wǎng)頁,是搜索引擎的重要組成。
傳統(tǒng)爬蟲從一個(gè)或若干初始網(wǎng)頁的URL開始,獲得初始網(wǎng)頁上的URL,在抓取網(wǎng)頁的過程中,不斷從當(dāng)前頁面上抽取新的URL放入隊(duì)列,直到滿足系統(tǒng)的一定停止條件。
聚焦爬蟲的工作流程較為復(fù)雜,需要根據(jù)一定的網(wǎng)頁分析算法過濾與主題無關(guān)的鏈接,保留有用的鏈接并將其放入等待抓取的URL隊(duì)列。然后,它將根據(jù)一定的搜索策略從隊(duì)列中選擇下一步要抓取的網(wǎng)頁URL,并重復(fù)上述過程,直到達(dá)到系統(tǒng)的某一條件時(shí)停止。
另外,所有被爬蟲抓取的網(wǎng)頁將會(huì)被系統(tǒng)存貯,進(jìn)行一定的分析、過濾,并建立索引,以便之后的查詢和檢索;對于聚焦爬蟲來說,這一過程所得到的分析結(jié)果還可能對以后的抓取過程給出反饋和指導(dǎo)。
相對于通用網(wǎng)絡(luò)爬蟲,聚焦爬蟲還需要解決三個(gè)主要問題:
(1) 對抓取目標(biāo)的描述或定義;
(2) 對網(wǎng)頁或數(shù)據(jù)的分析與過濾;
(3) 對URL的搜索策略。
推薦教程:《python教程》