V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
HTSdTt3WygdgQQGe
V2EX  ›  程序员

请问 Python 爬虫,配合什么数据库效果最佳

  •  
  •   HTSdTt3WygdgQQGe · 2019-11-16 12:37:38 +08:00 via Android · 4664 次点击
    这是一个创建于 1853 天前的主题,其中的信息可能已经有所发展或是发生改变。
    要爬的数据量比较大,机器配置还不高,请问怎么搭配最优
    22 条回复    2019-11-18 07:49:01 +08:00
    renmu
        1
    renmu  
       2019-11-16 13:02:59 +08:00 via Android
    MongoDB 简单粗暴
    lhx2008
        2
    lhx2008  
       2019-11-16 13:05:49 +08:00 via Android
    文本追加
    eq06
        3
    eq06  
       2019-11-16 13:21:18 +08:00
    多线程吗?多线程弄 SQLite 拆几个数据库呢
    w2er
        4
    w2er  
       2019-11-16 13:28:11 +08:00 via iPhone
    搬好小板凳,听大佬讲课
    tomczhen
        5
    tomczhen  
       2019-11-16 13:49:53 +08:00
    哪个数据库熟悉用哪个,爬太快小心变成 DDOS/CC 直接进去包吃包住。
    ClutchBear
        6
    ClutchBear  
       2019-11-16 13:57:47 +08:00
    阿里云的 表格存储
    RicardoY
        7
    RicardoY  
       2019-11-16 13:58:13 +08:00 via Android
    配置不高就直接写文件 或者 MongoDB 现在 v2 一提到爬虫就是监狱警告..
    FaceBug
        8
    FaceBug  
       2019-11-16 15:01:28 +08:00
    配合消息队列先,再管数据库
    locoz
        9
    locoz  
       2019-11-16 15:07:19 +08:00
    数据量比较大是多大?配置不高是多高?爬完之后要做什么用?数据分析还是文本检索?啥都没有那只能说哪个熟悉用哪个了
    crclz
        10
    crclz  
       2019-11-16 15:11:10 +08:00   ❤️ 1
    只写过玩具爬虫。一点其他领域得来的拙见:如果存储空间够的话,postgres 的插入速度完全够用:用 N+1 个线程,N 个线程往 1 个 queue 里面写数据,1 个线程定期( 100ms )将数据 bulk insert 到数据库。普通的 insert 可能吃力。
    也建议了解 Cassandra。
    mongo 可能速度不够用。
    wangyzj
        11
    wangyzj  
       2019-11-16 15:49:39 +08:00
    kafka -> es
    scriptB0y
        12
    scriptB0y  
       2019-11-16 16:01:04 +08:00
    Mongo 最简单实用了,感觉到千万的数据都问题不大。再大可能要具体情况具体分析了。
    dbow
        13
    dbow  
       2019-11-16 16:04:37 +08:00
    选一个 Key-Value 数据库用, 比如 leveldb, rocksdb 啥的, 自建 Mysql 顶不住千万级写入。
    ClericPy
        14
    ClericPy  
       2019-11-16 16:52:13 +08:00
    这个不能闭着眼来啊...
    数据量大, 有多大? 不过单机放的下, 估计也不会有太大...
    数据类型是什么样的, 结构化? 半结构化? 非结构化? 文章那种段文本?
    用途是什么, 热数据还是冷数据, 给什么部门用, 怎么用

    你这问的有点宽泛了, 如果是跟我一样的羊毛机, mysql 可以涵盖多数需求了, 几百兆内存能跑起来一个
    HTSdTt3WygdgQQGe
        15
    HTSdTt3WygdgQQGe  
    OP
       2019-11-16 17:08:01 +08:00 via Android
    大家分析的好专业,暂定 mongo 谢谢各位
    wangxiaoaer
        16
    wangxiaoaer  
       2019-11-16 17:25:07 +08:00
    无脑用 MongoDB 的怕不是磁盘不要钱?
    0x400
        17
    0x400  
       2019-11-16 17:29:18 +08:00 via Android
    .csv
    sadfQED2
        18
    sadfQED2  
       2019-11-16 17:36:22 +08:00
    mongodb 后期做分析好用,另外容错率高,比如爬价格,Mysql 你用 int 存,但是某个数据可能给你返一个“100 以上”,然后你就 GG 了,如果 mysql 用 json 存,后期分析数据贼难用

    But,用 mongodb 可能机器配置要求比 mysql 高,装了 mongodb 的机器基本上没法干其他的了
    lc7029
        19
    lc7029  
       2019-11-17 02:45:13 +08:00
    MongoDB
    encro
        20
    encro  
       2019-11-17 19:58:55 +08:00
    分布式爬虫:
    缓存队列在 redis 部署开发方便,
    索引存 mysql 查询方便,
    内容存 leveldb 压缩比好
    onyourroad
        21
    onyourroad  
       2019-11-18 00:45:27 +08:00
    爬虫是犯法的知道吗?
    indicoliteplus
        22
    indicoliteplus  
       2019-11-18 07:49:01 +08:00 via iPhone
    postgres 吧,存 json 也无压力。mongodb 虽说对开发友好,但是对业务就有点恶心了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1170 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 17:55 · PVG 01:55 · LAX 09:55 · JFK 12:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.