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

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

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

But,用 mongodb 可能机器配置要求比 mysql 高,装了 mongodb 的机器基本上没法干其他的了
lc7029
2019-11-17 02:45:13 +08:00
MongoDB
encro
2019-11-17 19:58:55 +08:00
分布式爬虫:
缓存队列在 redis 部署开发方便,
索引存 mysql 查询方便,
内容存 leveldb 压缩比好

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/620158

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX