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