原文链接: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亿)
数据展示
用户数据
微博数据
原文地址:https://www.cnblogs.com/php-no-2/p/12148180.html