全网微博数据每日亿级实时采集
原文链接:https://blog.csdn.net/nghuyong/article/details/85160577
前言
做微博数据抓取有很长一段时间了,最近把这样任务做到了极致。
简单的说,就是,现在全网任何活跃用户发送的一条微博,能够实时抓取到并存入本地数据库。
这项工作对微博网络舆情的监控预警,有非常重大的意义.
下面是针对这项工作的测试数据,已经可以达到对于全网5.5千万活跃用户上亿微博的实时微博采集。
如果对微博舆情监控有需求,可以进行合作,联系方式:nghuyong@163.com
实验数据
硬件配置
2台服务器,每台的配置如下
系统 CPU 内存 硬盘
Ubuntu16.04 E5-2630 v4 @ 2.20GHz * 8 32G 1T
抓取速度
每台服务器满负荷运转:
每台服务器启动50个爬虫进程,两台共100个爬虫进程
每个进程的抓取情况:
可以看到每个进程,每分钟可以抓取300+页面。那么,一天共可以抓取:
300(pages/(process*min)) * 100(prcesses) * 60*24(mins/day) = 43,200,000(pages/day)
所以一天可以抓取4.3千万的页面
如果抓取用户个人信息,1(data/page) ,
则一天的数据抓取量是 43,200,000(pages/day) * 1(data/page) = 43,200,000(data/day) 4.3千万
如果抓取用户微博数据,10(data/page) ,
则一天的数据抓取量是 43,200,000(pages/day) * 10(data/page) = 432,000,000(data/day) 4.3亿
数据库统计
MongoDB IO量
每秒4500+的数据插入量,所以一天就是4亿+的数据采集入库量
用户个人信息数据
微博用户id采用海量采集的方式,目前已经拥有5.5千万有效真实用户的微博id,并且在不断增长中
发掘id 有效id 有效比率
97,267,435 55,832,401 0.574
用户微博数据
实时抓取5.5千万+有效用户的微博,数据统计
微博发表日期为11.20~11.24日之间的微博
11.20 11.21 11.22 11.23 11.24
13,864,359 18,438,460 18,866,072 18,143,923 11,351,606
当前数据库总量:537,475,459 (5亿)
数据展示
用户数据
微博数据
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了