欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

網(wǎng)絡(luò)爬蟲過程中5種網(wǎng)頁去重方法簡(jiǎn)要介紹

一般的,我們想抓取一個(gè)網(wǎng)站所有的URL,首先通過起始URL,之后通過網(wǎng)絡(luò)爬蟲提取出該網(wǎng)頁中所有的URL鏈接,之后再對(duì)提取出來的每個(gè)URL進(jìn)行爬取,提取出各個(gè)網(wǎng)頁中的新一輪URL,以此類推。整體的感覺就是自上而下進(jìn)行抓取網(wǎng)頁中的鏈接,理論上來看,可以抓取整站所有的鏈接。但是問題來了,一個(gè)網(wǎng)站中網(wǎng)頁的鏈接是有環(huán)路的。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供萬安企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站制作H5響應(yīng)式網(wǎng)站、小程序制作等業(yè)務(wù)。10年已為萬安眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站建設(shè)公司優(yōu)惠進(jìn)行中。

網(wǎng)絡(luò)爬蟲過程中5種網(wǎng)頁去重方法簡(jiǎn)要介紹

舉個(gè)栗子,在網(wǎng)站首頁中我們可以看到首頁這個(gè)鏈接,之后我們?cè)谧泳W(wǎng)頁中也有可能會(huì)看到有個(gè)鏈接是指向首頁的,可能子子網(wǎng)頁還會(huì)有對(duì)應(yīng)的鏈接指向首頁。按照我們之前的邏輯,抓取每個(gè)網(wǎng)頁中的所有鏈接,之后對(duì)所有的鏈接繼續(xù)抓取。就拿首頁來說,我們首先抓取的就是它,爾后子網(wǎng)頁中又有個(gè)鏈接指向首頁,子子網(wǎng)頁還有鏈接指向首頁,如此進(jìn)行抓取,豈不是會(huì)導(dǎo)致網(wǎng)頁重復(fù)抓取,其他的網(wǎng)頁根本就沒有機(jī)會(huì)去抓取了,簡(jiǎn)直不敢想象~~要解決這個(gè)問題并不難,此時(shí)就需要用到網(wǎng)絡(luò)爬蟲中了一個(gè)重要的知識(shí)點(diǎn),就是網(wǎng)頁去重。

網(wǎng)絡(luò)爬蟲過程中5種網(wǎng)頁去重方法簡(jiǎn)要介紹

首先介紹一個(gè)簡(jiǎn)單的思路,也是經(jīng)常用的一個(gè)通用思路。我們將已經(jīng)爬取過的網(wǎng)頁放到一個(gè)列表中去,以首頁為例,當(dāng)首頁被抓取之后,將首頁放到列表中,之后我們抓取子網(wǎng)頁的時(shí)候,如果再次碰到了首頁,而首頁已經(jīng)被抓取過了,此時(shí)就可以跳過首頁,繼續(xù)往下抓取其他的網(wǎng)頁,而避開了將首頁重復(fù)抓取的情況,這樣下來,爬取整站就不會(huì)出現(xiàn)一個(gè)環(huán)路。以這個(gè)思路為出發(fā)點(diǎn),將訪問過的URL保存到數(shù)據(jù)庫中,當(dāng)獲取下一個(gè)URL的時(shí)候,就去數(shù)據(jù)庫中去查詢這個(gè)URL是否已經(jīng)被訪問過了。雖然數(shù)據(jù)庫有緩存,但是當(dāng)每個(gè)URL都去數(shù)據(jù)庫中查詢的話,會(huì)導(dǎo)致效率下降的很快,所以這種策略用的并不多,但不失為最簡(jiǎn)單的一種方式。

網(wǎng)絡(luò)爬蟲過程中5種網(wǎng)頁去重方法簡(jiǎn)要介紹

第二種方式是將訪問過的URL保存到set中去,通過這樣方式獲取URL的速度很快,基本上不用做查詢。但是這種方法有一個(gè)缺點(diǎn),將URL保存到set中,實(shí)際上是保存到內(nèi)存中,當(dāng)URL數(shù)據(jù)量很大的時(shí)候(如1億條),會(huì)導(dǎo)致內(nèi)存的壓力越來越大。對(duì)于小型的爬蟲來說,這個(gè)方法十分可取,但是對(duì)于大型的網(wǎng)絡(luò)爬蟲,這種方法就難以企及了。

網(wǎng)絡(luò)爬蟲過程中5種網(wǎng)頁去重方法簡(jiǎn)要介紹

第三種方式是將字符進(jìn)行md5編碼,md5編碼可以將字符縮減到固定的長(zhǎng)度。一般來說,md5編碼的長(zhǎng)度約為128bit,約等于16byte。在未縮減之前,假設(shè)一個(gè)URL占用的內(nèi)存大小為50個(gè)字節(jié),一個(gè)字節(jié)等于2byte,相當(dāng)于100byte。由此可見,進(jìn)行md5編碼之后,節(jié)約了大量的內(nèi)存空間。通過md5的方式可以將任意長(zhǎng)度的URL壓縮到同樣長(zhǎng)度的md5字符串,而且不會(huì)出現(xiàn)重復(fù)的情況,達(dá)到去重的效果。通過這種方式很大程度上節(jié)約了內(nèi)存,scrapy框架采取的方式同md5方式有些類似,所以說scrapy在正常情況下,即使URL的數(shù)量級(jí)達(dá)到了上億級(jí)別,其占用的內(nèi)存比起set方式也要少得多。

網(wǎng)絡(luò)爬蟲過程中5種網(wǎng)頁去重方法簡(jiǎn)要介紹

第四種方式是使用bitmap方法將字符進(jìn)一步壓縮。這種方式的意思是在計(jì)算機(jī)中申請(qǐng)8個(gè)bit,即8個(gè)位,每個(gè)位由0或者1表示,這是計(jì)算機(jī)中最小的單元。8個(gè)位組成1個(gè)byte,一個(gè)位代表一個(gè)URL的話,為什么一個(gè)位可以確定一個(gè)URL呢?因?yàn)槲覀兛梢詫⒁粋€(gè)URL進(jìn)行一個(gè)哈希函數(shù),然后將其映射到位上面去。舉個(gè)栗子,假設(shè)我們有8個(gè)URL,分別對(duì)應(yīng)8個(gè)位,然后通過位上面的0和1的狀態(tài),便可以表明這個(gè)URL是否存在,通過這種方法便可以進(jìn)一步的壓縮內(nèi)存。

網(wǎng)絡(luò)爬蟲過程中5種網(wǎng)頁去重方法簡(jiǎn)要介紹

但是bitmap方法有一個(gè)非常大的缺點(diǎn),就是它的沖突會(huì)非常高,因?yàn)橥靡粋€(gè)哈希函數(shù),極有可能將兩個(gè)不同的URL或者多個(gè)不同的URL映射到一個(gè)位置上來。實(shí)際上這種哈希的方法,它也是set方式的一種實(shí)現(xiàn)原理,它將URL進(jìn)行一種函數(shù)計(jì)算,然后映射到bit的位置中去,所以這種方式對(duì)內(nèi)存的壓縮是非常大的。簡(jiǎn)單的來計(jì)算一下,還是以一億條URL來進(jìn)行計(jì)算,相當(dāng)于一億個(gè)bit,通過計(jì)算得到其相當(dāng)于12500000byte,除以1024之后約為12207KB,大概是12MB的空間。在實(shí)際過程中內(nèi)存的占用可能會(huì)比12MB大一些,但是即便是如此,相比于前面三種方法,這種方式以及大大的減少了內(nèi)存占用的空間了。但是與此同時(shí),該方法產(chǎn)生沖突的可能性是非常大的,所以這種方法也不是太適用的。那么有沒有方法將bitmap這種對(duì)內(nèi)存濃重壓縮的方法做進(jìn)一步優(yōu)化,讓沖突的可能性降下來呢?答案是有的,就是第五種方式。

網(wǎng)絡(luò)爬蟲過程中5種網(wǎng)頁去重方法簡(jiǎn)要介紹

第五種方式是bloomfilter,該方法對(duì)bitmap進(jìn)行改進(jìn),它可以通過多個(gè)哈希函數(shù)減少?zèng)_突的可能性。通過這種方式,一方面它既可以達(dá)到bitmap方法減少內(nèi)存的作用,另一方面它又同時(shí)起到減少?zèng)_突的作用。關(guān)于bloomfilter原理及其實(shí)現(xiàn),后期肯定會(huì)給大家呈上,今天先讓大家有個(gè)簡(jiǎn)單的認(rèn)識(shí)。Bloomfilter適用于大型的網(wǎng)絡(luò)爬蟲,尤其是數(shù)量級(jí)超級(jí)大的時(shí)候,采用bloomfilter方法可以起到事半功倍的效果,其也經(jīng)常和分布式爬蟲共同配合,以達(dá)到爬取的目的。

網(wǎng)絡(luò)爬蟲過程中5種網(wǎng)頁去重方法簡(jiǎn)要介紹

關(guān)于網(wǎng)絡(luò)爬蟲過程中去重策略的五種方式的介紹就先到這里了,不懂的就當(dāng)了解一下了,科普一下下,問題不大,希望對(duì)小伙伴們的學(xué)習(xí)有所幫助。

文章標(biāo)題:網(wǎng)絡(luò)爬蟲過程中5種網(wǎng)頁去重方法簡(jiǎn)要介紹
網(wǎng)頁鏈接:http://aaarwkj.com/article16/jpdddg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營(yíng)銷型網(wǎng)站建設(shè)網(wǎng)站維護(hù)、App開發(fā)、網(wǎng)站收錄、用戶體驗(yàn)、響應(yīng)式網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)
日本中文字幕在线播放一区| 国产亚洲男人av一区三区| 久久伊人69日韩精品| av网址在线免费观看| 亚洲欧美一区二区三区三| 热门精品一区二区三区| 中文字幕亚洲天堂久久| 国产91在线观看网站| 国内精品久久大型新型| 天堂中文在线免费观看av| 国产亚洲高清一区二区| 亚洲高清成人综合网站| 日韩视频精品推荐一区二区| 一区二区三区国产欧美日本| 少妇午夜福利一区二区| 欧美精品国产欧美精品国产| 亚洲精品麻豆一区二区| 俩小伙探花专约老熟女| 最新中文字幕成人在线观看| 欧美制服丝袜亚洲自拍偷拍| 精品女同一区二区三区网站| 日韩精品欧美精品一区二区| 成年人免费久久毛片| 亚洲欧美日韩成人在线观看| 蜜臀视频一区二区在线播放| 精品一区二区日韩在线| 性色av人妻中文一区二区| 日韩人妻一区二区三区蜜桃视频密| 2004年亚洲中文字幕| 精品欧美黑人一区二区| 亚洲av第一区国产精品| 不卡一区二区福利日本| 日本一区欧美二区精品| 色吊丝日韩在线观看| 女同欲望一区二区三区久久| 亚洲欧美日韩成人在线| 超碰97精品在线观看| 国产亚洲精品一区在线| 日韩天堂视频在线播放| 精品欧美一区二区在线| 蜜桃视频在线观看视频免费|