本文的文字及圖片來源于網(wǎng)絡(luò),僅供學(xué)習(xí)糊渊、交流使用,不具有任何商業(yè)用途,版權(quán)歸原作者所有,如有問題請及時聯(lián)系我們以作處理
本文章來自騰訊云 作者:Python進階者
本次分享的內(nèi)容主要可分為三塊:
網(wǎng)絡(luò)爬蟲背景
基本概念
基本原理
背景
首先我們來了解下背景宿礁,眾所周知,隨著計算機、互聯(lián)網(wǎng)、物聯(lián)網(wǎng)、云計算等網(wǎng)絡(luò)技術(shù)的風(fēng)起云涌查近,網(wǎng)絡(luò)上的信息呈爆炸式增長。毋庸置疑挤忙,互聯(lián)網(wǎng)上的信息幾乎囊括了社會霜威、文化、政治饭玲、經(jīng)濟侥祭、娛樂等所有話題。
使用傳統(tǒng)數(shù)據(jù)收集機制(如問卷調(diào)查法、訪談法)進行捕獲和采集數(shù)據(jù)矮冬,往往會受經(jīng)費和地域范圍所限谈宛,而且還會因其樣本容量小、信度低等因素導(dǎo)致收集的數(shù)據(jù)往往與客觀事實有所偏頗胎署,有著較大的局限性吆录。這時候網(wǎng)絡(luò)爬蟲作為一個強大的數(shù)據(jù)采集神器應(yīng)運而生了。下面一起來看看網(wǎng)絡(luò)爬蟲的榮耀時刻吧琼牧!
網(wǎng)絡(luò)爬蟲通過統(tǒng)一資源定位符URL (Uniform ResourceLocator)來查找目標網(wǎng)頁恢筝,將用戶所關(guān)注的數(shù)據(jù)內(nèi)容直接返回給用戶,并不需要用戶以瀏覽網(wǎng)頁的形式去獲取信息巨坊,為用戶節(jié)省了時間和精力撬槽,并提高了數(shù)據(jù)采集的準確度,使用戶在海量數(shù)據(jù)中游刃有余趾撵。網(wǎng)絡(luò)爬蟲的最終目的就是從網(wǎng)頁中獲取自己所需的信息侄柔。雖然利用urllib、urllib2占调、re等一些爬蟲基本庫可以開發(fā)一個爬蟲程序暂题,獲取到所需的內(nèi)容,但是所有的爬蟲程序都以這種方式進行編寫究珊,工作量未免太大了些薪者,所有才有了爬蟲框架。使用爬蟲框架可以大大提高效率剿涮,縮短開發(fā)時間言津。
了解了網(wǎng)絡(luò)爬蟲背景和網(wǎng)絡(luò)爬蟲的用途之后,接下來我們一起來了解它的概念知識吧幔虏。
基本概念
網(wǎng)絡(luò)爬蟲(web crawler)又稱為網(wǎng)絡(luò)蜘蛛(web spider)或網(wǎng)絡(luò)機器人(web robot)纺念,另外一些不常使用的名字還有螞蟻、自動索引想括、模擬程序或蠕蟲陷谱,同時它也是“物聯(lián)網(wǎng)”概念的核心之一。網(wǎng)絡(luò)爬蟲本質(zhì)上是一段計算機程序或腳本瑟蜈,其按照一定的邏輯和算法規(guī)則自動地抓取和下載萬維網(wǎng)的網(wǎng)頁烟逊,是搜索引擎的一個重要組成部分。
剛剛講到了網(wǎng)絡(luò)爬蟲的邏輯和算法規(guī)則铺根,下面來給大家分享下網(wǎng)絡(luò)爬蟲的基本原理吧宪躯!
基本原理
字不如表,表不如圖位迂,這里給大家畫出了一個網(wǎng)絡(luò)爬蟲流程簡圖访雪,可以看到原理圖部分详瑞。一般來說的話,網(wǎng)絡(luò)爬蟲是根據(jù)預(yù)先設(shè)定的一個或若干個初始網(wǎng)頁的URL開始臣缀,然后按照一定的規(guī)則爬取網(wǎng)頁坝橡,獲取初始網(wǎng)頁上的URL列表,之后每當抓取一個網(wǎng)頁時精置,爬蟲會提取該網(wǎng)頁新的URL并放入到未爬取的隊列中去计寇,然后循環(huán)的從未爬取的隊列中取出一個URL再次進行新一輪的爬取,不斷的重復(fù)上述過程脂倦,直到隊列中的URL抓取完畢或者達到其他的既定條件番宁,爬蟲才會結(jié)束。
總結(jié)
以上我們簡單闡述了網(wǎng)絡(luò)爬蟲的背景赖阻、基本概念和基本原理蝶押,下面我們來簡單總結(jié)下。
隨著互聯(lián)網(wǎng)信息的與日俱增政供,利用網(wǎng)絡(luò)爬蟲工具來獲取所需信息必有用武之地播聪。使用網(wǎng)絡(luò)爬蟲來采集信息,不僅可以實現(xiàn)對web上信息的高效布隔、準確、自動的獲取稼虎,還利于公司或者研究人員等對采集到的數(shù)據(jù)進行后續(xù)的挖掘分析衅檀。