爬蟲去重策略

1匪蟀、將url保存到數(shù)據(jù)庫中椎麦,檢查時在數(shù)據(jù)庫中查找。效率太低材彪,頻繁的切換內(nèi)外存观挎。使用mysql做去重,對url地址進行md5查刻,base64加密键兜,加密之后會得到一串字符凤类,判斷字符串是否在mysql表中穗泵,如果在表示已經(jīng)爬取過了,如果不在谜疤,表示沒有爬取佃延,執(zhí)行請求,將加密后的url地址存入表中夷磕。缺點: 但是這個方法對mysql壓力過大履肃,導(dǎo)致崩潰,不推薦

2坐桩、將url保存到程序內(nèi)存set集合中尺棋,查詢速度快,但是占用內(nèi)存太大绵跷。


image.png

3膘螟、與第二種方法類似,只是進一步改進之后碾局,將url通過哈希編碼壓縮在保存在程序內(nèi)存set集合中荆残,相較于第二種方法直接保存,可以大大壓縮存儲空間净当。scrapy采用此方法内斯。使用scrapy_redis的去重策略,會將已經(jīng)爬取的url地址經(jīng)過編碼后存入redis,并且會做數(shù)據(jù)持久化,當爬蟲再次啟動時,會重新加載本地的數(shù)據(jù),對爬蟲的url做去重蕴潦。缺點:如果數(shù)據(jù)量較大的時候,會占用較多的內(nèi)存空間俘闯。

4潭苞、用bitmap方法,將訪問過的URL通過hash函數(shù)映射到某一位真朗。這個方法將url通過哈希算法進一步壓縮空間至某位上萄传,存儲空間大大減小,但是沖突率很高蜜猾,很有可能兩個不同的url哈希到同一個位秀菱,導(dǎo)致第二個沒有的url被判斷為已存在。

5蹭睡、布隆過濾器:通過boolmfilter算法壓縮url衍菱,在壓縮存儲空間的同時,也 大大降低沖突率肩豁,一億url經(jīng)過布隆過濾器后大約為11 M存儲空間脊串。布隆過濾器呢,原理是這樣的清钥,一個URL過來琼锋,通過M個特別的哈希函數(shù)對其進行運算,映射成一個M維位數(shù)組的M個維度祟昭。新的URL誕生時缕坎,進行同樣操作并逐個與set中的位數(shù)組做“與”運算,若結(jié)果改變則說明URL一定沒有被抓取過篡悟,若結(jié)果一致則說明URL有一定概率被抓取過谜叹。布隆過濾器的插入和查詢效率都是O(M),遠低于其他一般策略搬葬。

常用方法:

redis集合和布隆過濾器

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末荷腊,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子急凰,更是在濱河造成了極大的恐慌女仰,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抡锈,死亡現(xiàn)場離奇詭異疾忍,居然都是意外死亡,警方通過查閱死者的電腦和手機企孩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門锭碳,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人勿璃,你說我怎么就攤上這事擒抛⊥破” “怎么了?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵歧沪,是天一觀的道長歹撒。 經(jīng)常有香客問我,道長诊胞,這世上最難降的妖魔是什么暖夭? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮撵孤,結(jié)果婚禮上迈着,老公的妹妹穿的比我還像新娘。我一直安慰自己邪码,他們只是感情好裕菠,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著闭专,像睡著了一般奴潘。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上影钉,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天画髓,我揣著相機與錄音,去河邊找鬼平委。 笑死奈虾,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的肆汹。 我是一名探鬼主播愚墓,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼昂勉!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起扫腺,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤岗照,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后笆环,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體攒至,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年躁劣,在試婚紗的時候發(fā)現(xiàn)自己被綠了迫吐。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡账忘,死狀恐怖志膀,靈堂內(nèi)的尸體忽然破棺而出熙宇,到底是詐尸還是另有隱情,我是刑警寧澤溉浙,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布烫止,位于F島的核電站,受9級特大地震影響戳稽,放射性物質(zhì)發(fā)生泄漏馆蠕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一惊奇、第九天 我趴在偏房一處隱蔽的房頂上張望互躬。 院中可真熱鬧,春花似錦颂郎、人聲如沸吨铸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽诞吱。三九已至,卻和暖如春竭缝,著一層夾襖步出監(jiān)牢的瞬間房维,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工抬纸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留咙俩,地道東北人。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓湿故,卻偏偏與公主長得像阿趁,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子坛猪,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 一年一度的五一國際勞動節(jié)在萬眾期待中再次來到了我們的身邊脖阵,你出門旅游了嗎?去了哪些地方呢墅茉?玩得開心嗎命黔?吃得舒...
    凡人sxj閱讀 311評論 2 1
  • 每年元月初你都會從皖返閩 參加一年一度廈門國際馬拉松 這一愛好堅持整整九年 你說離開鷺島回故鄉(xiāng)發(fā)展悍募,夢卻留在廈門 ...
    卓夫文暄閱讀 314評論 0 7
  • 掐指一算,已經(jīng)有六年沒和父母在家過年啦洋机。 偶爾也會有人問坠宴,你難道就不想家嗎? 廢話绷旗。 曾經(jīng)一首《诚补模回家看看》竟讓我...
    大張冰閱讀 98評論 0 1
  • 歡迎關(guān)注本人博客:云端筑夢師 描述Python 字典 get() 方法和 setdefault()方法類似,返回指...
    Aurora_Twinkle閱讀 683評論 2 1
  • "如果真的和她走進理想的愛情世界 那寫詩將變得毫無意義" 有限的時間 何謂不浪費 不過是聽從心里最真實的聲音 讓靈...
    白睿晰閱讀 159評論 0 2