摘要:互聯(lián)網(wǎng)界對(duì)于網(wǎng)絡(luò)爬蟲也建立了一定的道德規(guī)范協(xié)議來(lái)約束。基礎(chǔ)爬蟲的框架以及詳細(xì)的運(yùn)行流程基礎(chǔ)爬蟲框架主要包括五大模塊,分別是爬蟲調(diào)度器管理器下載器解析器數(shù)據(jù)存儲(chǔ)器。
網(wǎng)絡(luò)爬蟲是什么?
網(wǎng)絡(luò)爬蟲就是:請(qǐng)求網(wǎng)站并提取數(shù)據(jù)的自動(dòng)化程序
網(wǎng)絡(luò)爬蟲能做什么?網(wǎng)絡(luò)爬蟲被廣泛用于互聯(lián)網(wǎng)搜索引擎或其他類似網(wǎng)站,可以自動(dòng)采集所有其能夠訪問到的頁(yè)面內(nèi)容,以獲取或更新這些網(wǎng)站的內(nèi)容和檢索方式。
網(wǎng)絡(luò)爬蟲還被用于爬取各個(gè)網(wǎng)站的數(shù)據(jù),進(jìn)行分析、預(yù)測(cè)
近幾年來(lái),大量的企業(yè)和個(gè)人開始使用網(wǎng)絡(luò)爬蟲采集互聯(lián)網(wǎng)的公開數(shù)據(jù),進(jìn)行數(shù)據(jù)分析,進(jìn)一步達(dá)到商業(yè)目的。
可以好不吹噓的說(shuō),平時(shí)從瀏覽器瀏覽的所有數(shù)據(jù)都能被爬取下來(lái)。
網(wǎng)絡(luò)爬蟲是否合法?上面說(shuō)到了爬蟲可以爬取任何數(shù)據(jù),那么,爬取數(shù)據(jù)這種行為是否合法?
目前關(guān)于爬取數(shù)據(jù)的法律還在建立和完善中,如果爬取的數(shù)據(jù)屬于個(gè)人使用或者科研范疇,基本不存在什么問題;一旦要用于商業(yè)用途就得注意了,有可能會(huì)違法?;ヂ?lián)網(wǎng)界對(duì)于網(wǎng)絡(luò)爬蟲也建立了一定的道德規(guī)范(Robots協(xié)議)來(lái)約束。
這里具體看下Robots協(xié)議
Robots協(xié)議規(guī)定各個(gè)搜索引擎哪些頁(yè)面可以抓取,哪些頁(yè)面不能抓取,Robots協(xié)議雖然沒有被寫入法律,但是每一個(gè)爬蟲都應(yīng)該遵守這項(xiàng)協(xié)議。
下面是淘寶網(wǎng)的robots協(xié)議:
從圖中我們就可以發(fā)現(xiàn)淘寶網(wǎng)對(duì)百度的爬蟲引擎做出了規(guī)定,然而百度也會(huì)遵守這些規(guī)定,不信你可以試試從百度是找不到淘寶里的商品信息的。
Python爬蟲的基本流程非常簡(jiǎn)單,主要可以分為三部分:(1)獲取網(wǎng)頁(yè);(2)解析網(wǎng)頁(yè)(提取數(shù)據(jù));(3)存儲(chǔ)數(shù)據(jù)。
簡(jiǎn)單的介紹下這三部分:
獲取網(wǎng)頁(yè)就是給一個(gè)網(wǎng)址發(fā)送請(qǐng)求,該網(wǎng)址會(huì)返回整個(gè)網(wǎng)頁(yè)的數(shù)據(jù)。類似于在瀏覽器中輸入網(wǎng)址并按回車鍵,然后可以看到網(wǎng)站的整個(gè)頁(yè)面。
解析網(wǎng)頁(yè)就是從整個(gè)網(wǎng)頁(yè)的數(shù)據(jù)中提取想要的數(shù)據(jù)。
存儲(chǔ)數(shù)據(jù)顧名思義就是把數(shù)據(jù)存儲(chǔ)下來(lái),我們可以存儲(chǔ)在文本中,也可以存儲(chǔ)到數(shù)據(jù)庫(kù)中。
基礎(chǔ)爬蟲的框架以及詳細(xì)的運(yùn)行流程基礎(chǔ)爬蟲框架主要包括五大模塊,分別是爬蟲調(diào)度器、URL管理器、HTML下載器、HTML解析器、數(shù)據(jù)存儲(chǔ)器。這五大模塊之間的關(guān)系如下圖所示:
下來(lái)我們來(lái)分析這五大模塊之間的功能:
爬蟲調(diào)度器主要負(fù)責(zé)統(tǒng)籌其他四個(gè)模塊的協(xié)調(diào)工作。
URL管理器負(fù)責(zé)管理URL鏈接,維護(hù)已經(jīng)爬取的URL集合和未爬取的URL集合, 提供獲取新URL鏈接的接口。
HTML下載器用于從URL管理器中獲取未爬取的URL鏈接并下載HTML網(wǎng)頁(yè)。
HTML解析器用于從HTML下載器中獲取已經(jīng)下載的HTML網(wǎng)頁(yè),并從中解析出新 的URL鏈接交給URL管理器,解析出有效數(shù)據(jù)交給數(shù)據(jù)存儲(chǔ)器。
數(shù)據(jù)存儲(chǔ)器用于將HTML解析器解析出來(lái)的數(shù)據(jù)通過文件或者數(shù)據(jù)庫(kù)的形式存儲(chǔ)起來(lái)。
詳細(xì)的運(yùn)行流程如下圖所示:
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/43034.html
摘要:這篇文章的題目有點(diǎn)大,但這并不是說(shuō)我自覺對(duì)爬蟲這塊有多大見解,我只不過是想將自己的一些經(jīng)驗(yàn)付諸于筆,對(duì)于如何寫一個(gè)爬蟲框架,我想一步一步地結(jié)合具體代碼來(lái)講述如何從零開始編寫一個(gè)自己的爬蟲框架年到如今,我花精力比較多的一個(gè)開源項(xiàng)目算是了,這是 showImg(https://segmentfault.com/img/remote/1460000018513379); 這篇文章的題目有點(diǎn)大...
摘要:針對(duì)的初學(xué)者,從無(wú)到有的語(yǔ)言如何入門,主要包括了的簡(jiǎn)介,如何下載,如何安裝,如何使用終端,等各種開發(fā)環(huán)境進(jìn)行開發(fā),中的語(yǔ)法和基本知識(shí)概念和邏輯,以及繼續(xù)深入學(xué)習(xí)的方法。 ...
摘要:項(xiàng)目的主要運(yùn)行部分,采集器驗(yàn)證器打分檢測(cè)等功能實(shí)現(xiàn)的模塊。在中可以配置異步的并發(fā)量等來(lái)控制驗(yàn)證器。調(diào)用有了穩(wěn)定的高分代理數(shù)據(jù),那么就可以掛起一個(gè)為我們的爬蟲保駕護(hù)航,這一部分可以單獨(dú)拿出來(lái)編寫,使用其他框架之類的都是不錯(cuò)的選擇。 FooProxy 穩(wěn)健高效的評(píng)分制 IP代理池 + API服務(wù)提供,可以自己插入采集器進(jìn)行代理IP的爬取,支持 MongoDB 4.0 使用 Python3....
摘要:項(xiàng)目的主要運(yùn)行部分,采集器驗(yàn)證器打分檢測(cè)等功能實(shí)現(xiàn)的模塊。在中可以配置異步的并發(fā)量等來(lái)控制驗(yàn)證器。調(diào)用有了穩(wěn)定的高分代理數(shù)據(jù),那么就可以掛起一個(gè)為我們的爬蟲保駕護(hù)航,這一部分可以單獨(dú)拿出來(lái)編寫,使用其他框架之類的都是不錯(cuò)的選擇。 FooProxy 穩(wěn)健高效的評(píng)分制 IP代理池 + API服務(wù)提供,可以自己插入采集器進(jìn)行代理IP的爬取,支持 MongoDB 4.0 使用 Python3....
閱讀 1638·2019-08-30 15:54
閱讀 2384·2019-08-30 15:52
閱讀 2076·2019-08-29 15:33
閱讀 3050·2019-08-28 17:56
閱讀 3247·2019-08-26 13:54
閱讀 1683·2019-08-26 12:16
閱讀 2456·2019-08-26 11:51
閱讀 1656·2019-08-26 10:26