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

Posted php-no-2

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了全网微博数据每日亿级实时采集相关的知识,希望对你有一定的参考价值。

原文链接: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亿)

数据展示
用户数据

微博数据



以上是关于全网微博数据每日亿级实时采集的主要内容,如果未能解决你的问题,请参考以下文章

百亿级日访问量的应用如何做缓存架构设计?

日均百亿级日志处理:微博基于Flink的实时计算平台建设

日访问量百亿级的应用如何做缓存架构设计

百亿级日访问量的应用如何做缓存架构设计?

爬取每日热点中微博热度榜

Firebase 实时数据库每日签到 Android