1. 程式人生 > >全網微博資料每日億級實時採集

全網微博資料每日億級實時採集

前言

做微博資料抓取有很長一段時間了,最近把這樣任務做到了極致。
簡單的說,就是,現在全網任何活躍使用者傳送的一條微博,能夠實時抓取到並存入本地資料庫。
這項工作對微博網路輿情的監控預警,有非常重大的意義.
下面是針對這項工作的測試資料,已經可以達到對於全網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億)

資料展示

使用者資料
在這裡插入圖片描述
微博資料
在這裡插入圖片描述