溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

關(guān)于Python爬蟲的簡介

發(fā)布時(shí)間:2020-08-05 15:08:17 來源:億速云 閱讀:133 作者:小新 欄目:編程語言

小編給大家分享一下關(guān)于Python爬蟲的簡介,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

很多人都或多或少聽說過 Python 爬蟲,我也一直很感興趣,所以也花了一個(gè)下午入門了一下輕量級的爬蟲。為啥是輕量級的爬蟲呢,因?yàn)橛械木W(wǎng)頁是比較復(fù)雜的,比如需要驗(yàn)證碼、登錄驗(yàn)證或者需要證書才能訪問,我們了解爬蟲的概念和架構(gòu),只需要做一些簡單的爬取工作即可,比如爬取百度百科這種純信息展示的網(wǎng)頁,這些都是不需要登錄的靜態(tài)網(wǎng)頁。即便再復(fù)雜的爬蟲網(wǎng)頁和爬蟲框架,實(shí)際上都離不開這一套基本的爬蟲架構(gòu)。

爬蟲簡介

爬蟲是一段自動抓取互聯(lián)網(wǎng)信息的程序。每個(gè)網(wǎng)頁都有一個(gè)URL,從一個(gè)網(wǎng)頁入口開始,通過各種URL的跳轉(zhuǎn)形成一個(gè)相互指向的關(guān)系,最終可以形成一種網(wǎng)狀結(jié)構(gòu),這就是互聯(lián)網(wǎng)。理論上來說,一個(gè)龐大的網(wǎng)頁項(xiàng)目,從入口開始,總能通過某種跳轉(zhuǎn)路徑到達(dá)項(xiàng)目系統(tǒng)中的任何一個(gè)網(wǎng)頁,當(dāng)我們?nèi)斯さ膹木W(wǎng)頁上獲取信息的時(shí)候,只能跟著步驟,一步一步的點(diǎn)擊跳轉(zhuǎn),最終獲取到我們希望得到的信息。

比如典型的,我昨天想領(lǐng)養(yǎng)一只貓咪,我先點(diǎn)開同城網(wǎng)站,然后找到寵物分類,再找到貓咪分類,再選擇一些條目,比如是領(lǐng)養(yǎng)而不是購買,年齡在半歲以下,貍花貓等等這些特性,最后點(diǎn)擊搜索,網(wǎng)頁給了我具體的條目列表,我通過人工的方式,獲取了我想要的信息。雖然定位精準(zhǔn),但不免很浪費(fèi)人力時(shí)間。

而爬蟲就是一個(gè)這樣的自動程序,我們設(shè)定好我們需要的主題和目標(biāo),比如「貓咪」、「6個(gè)月」等標(biāo)簽,爬蟲會從某個(gè)特定URL入手,自動的訪問它所關(guān)聯(lián)的URL,并且提取出我們需要的數(shù)據(jù)??梢哉f爬蟲就是自動訪問互聯(lián)網(wǎng),并且提取價(jià)值數(shù)據(jù)的程序。

爬蟲的價(jià)值就在于此,可以獲取將互聯(lián)網(wǎng)上巨量的數(shù)據(jù)都為我所用,有了這些數(shù)據(jù),我們就可以進(jìn)行學(xué)習(xí)和分析,或者利用數(shù)據(jù)做出相關(guān)的產(chǎn)品。

爬取 GitHub 中一天瀏覽量和 star 提升數(shù)最高的項(xiàng)目,有了這個(gè)數(shù)據(jù),就可以做出一個(gè) GitHub 開源項(xiàng)目推薦的項(xiàng)目。

現(xiàn)在各大網(wǎng)站的歌曲都有版權(quán)保護(hù),下載歌曲不太方便,可以通過歌曲名字,爬取網(wǎng)上所有免費(fèi)下載鏈接,這樣就可以輕易做出一個(gè)歌曲搜索下載的聚類工具。

可以說,只要有數(shù)據(jù),沒有做不到的,只有你想不到的,數(shù)據(jù)就在放在互聯(lián)網(wǎng)上,通過爬蟲我們可以讓數(shù)據(jù)發(fā)揮更大的作用和價(jià)值,在大數(shù)據(jù)時(shí)代,爬蟲毋庸置疑是一門一線技術(shù)。

爬蟲基本架構(gòu)

我們先來看一下簡單的爬蟲架構(gòu)圖

關(guān)于Python爬蟲的簡介

首先我們需要一個(gè)爬蟲調(diào)度端來啟動和停止爬蟲,同時(shí)也要通過它來監(jiān)視爬蟲的狀態(tài),并通過它提供接口來作具體的數(shù)據(jù)應(yīng)用。這個(gè)部分不屬于爬蟲本身。

圖中陰影方框中的部分就是我們爬蟲程序。因?yàn)橛械捻撁娴娜肟谟泻芏?,我們可以通過不同的URL調(diào)度路徑來訪問這個(gè)界面,那么作為一個(gè)智能的爬蟲軟件,當(dāng)遇到我們已經(jīng)爬取過的URL的時(shí)候,應(yīng)該選擇過濾,而不是再次爬取。URL管理器就是用來存儲已經(jīng)爬取URL和將要爬取URL的工具的。

從URL管理器中選擇一個(gè)待爬取的URL,將其傳送給網(wǎng)頁下載器,下載器會把網(wǎng)頁以字符串的形式下載下來,并把這個(gè)字符串交給網(wǎng)頁解析器去解析,網(wǎng)頁解析器一方面會把你需要獲取的價(jià)值信息提取出來歸還給調(diào)度器,另一方面,如果遇到該網(wǎng)頁有新的URL待爬取,就會把這個(gè)URL傳送給URL管理器。從此,這三個(gè)模塊進(jìn)行循環(huán),直到該網(wǎng)頁相關(guān)的所有URL都爬取完畢。

更加清晰的動態(tài)運(yùn)行流程,可以用一個(gè)時(shí)序圖來表示。大家可以對照著上面的步驟理解下。

關(guān)于Python爬蟲的簡介

以上是關(guān)于Python爬蟲的簡介的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI