跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 爬虫查重复,数据库占 cpu 超高,怎么解决呢?
未分類
15 6 月 2020

爬虫查重复,数据库占 cpu 超高,怎么解决呢?

爬虫查重复,数据库占 cpu 超高,怎么解决呢?

資深大佬 : llsquaer 8

之前写一个爬虫,爬好数据直接就存进 MongoDB 了.存入代码如下

”’

def save(dic):     if table.find_one(dic):         print('已经有数据 ,跳过',dic['info_title'])         return     table.insert(dic)     print('保存成功', dic['info_title']) 

”’

运行都是正常的..但是我看 cpu 占用的时候 MongoDB 进程已经 80%上下了..有时候还是 100%

刚开始学,,以前一直没想到怎么解决这个问题..基本都是按照上面方法写的.感觉方便.但是随着数据扩大,估计扛不住了.

请问大神是怎么做的呢?提高效率,减少占用.

大佬有話說 (6)

  • 資深大佬 : itskingname

    不要用太多的字段去查下。如果一个字段就能查到,那么只用这一个字段。

    并且给重复的字段加个索引。

  • 資深大佬 : gabon

    布隆过滤器了解一下

  • 資深大佬 : njshiyanhz

    看上去像是用所有字段来去重的;
    建议只用 url 或者标题等,能标识该数据唯一的字段进行查询,并把该字段加上索引;
    如果还是要用所有字段去重,那就把所有字段的值 md5 一下,拿 md5 查询,索引别忘

  • 資深大佬 : sadfQED2

    你没加索引吧,另外,只是查重的话考虑布隆过滤器

  • 主 資深大佬 : llsquaer

    @njshiyanhz 总共 6 个字段,分析了 6 个字段必须要同时查,,不然会出现某个字段是重复,其他不重复的情况,,会跳过一部分内容,,MongoDB 用的默认的配置,,没研究过怎么建立索引..我去研究下…谢谢..

  • 主 資深大佬 : llsquaer

    @sadfQED2 用默认的,还不知道怎么建立索引, 我先去研究下…还有布隆过滤器 ..谢谢.

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具