全网微博数据每日亿级实时采集

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/nghuyong/article/details/85160577

前言

做微博数据抓取有很长一段时间了,最近把这样任务做到了极致。
简单的说,就是,现在全网任何活跃用户发送的一条微博,能够实时抓取到并存入本地数据库。
这项工作对微博网络舆情的监控预警,有非常重大的意义.
下面是针对这项工作的测试数据,已经可以达到对于全网5.5千万活跃用户上亿微博的实时微博采集。
如果对微博舆情监控有需求,可以进行合作,联系方式:[email protected]

实验数据

硬件配置

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亿)

数据展示

用户数据
在这里插入图片描述
微博数据
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/nghuyong/article/details/85160577
今日推荐