爬了3000萬(wàn)QQ用戶(hù)數(shù)據(jù),挖出了花千骨趙麗穎的QQ號(hào)
兩周前,做的一個(gè)項(xiàng)目需要模擬一批用戶(hù)評(píng)價(jià)數(shù)據(jù),如果想讓數(shù)據(jù)看著真實(shí)點(diǎn),那就得使用隨機(jī)的用戶(hù)昵稱(chēng)和頭像啊。要是頭像或者昵稱(chēng)全都差不多,那別人一看就看出來(lái)這是做的數(shù)據(jù)了。
于是乎我就寫(xiě)了個(gè)從我QQ空間開(kāi)始的蜘蛛網(wǎng)式的爬蟲(chóng)程序,程序斷斷續(xù)續(xù)的運(yùn)行了兩周。總共爬到了騰訊3000萬(wàn)QQ數(shù)據(jù),其中有300萬(wàn)包含用戶(hù) (QQ號(hào),昵稱(chēng),空間名稱(chēng),會(huì)員級(jí)別,頭像,***一條說(shuō)說(shuō)內(nèi)容,***說(shuō)說(shuō)的發(fā)表時(shí)間,空間簡(jiǎn)介,性別,生日,所在省份,城市,婚姻狀況)的詳細(xì)數(shù)據(jù)。
目前已經(jīng)爬到我的第7圈好友(depth=7)共3000萬(wàn)數(shù)據(jù),目前的瓶頸在家里的網(wǎng)速和電腦的配置上。 最快的時(shí)候爬取速度達(dá)到一天500W新Q數(shù)據(jù)。
沒(méi)圖,我說(shuō)個(gè)毛線(xiàn)啊!
目前數(shù)據(jù)量為2G左右。
再看看,我根據(jù)這份數(shù)據(jù)生成的一些有趣的統(tǒng)計(jì)圖(數(shù)據(jù)量太大了一次加載到內(nèi)存中直接報(bào)內(nèi)存不夠了,所以下面的統(tǒng)計(jì)數(shù)據(jù)只取了depth值小數(shù)據(jù)較完整約80W的數(shù)據(jù)):
內(nèi)存已經(jīng)爆了,不能怪我。 誰(shuí)贊助臺(tái)服務(wù)器吧
1、大家一般都在啥時(shí)候發(fā)說(shuō)說(shuō)呢?
從圖中看出一天最冷門(mén)的時(shí)候是凌晨4點(diǎn),這時(shí)全國(guó)正在睡覺(jué)的人最多。 大家最亢奮的是晚上10點(diǎn)到11點(diǎn),人們都喜歡睡前看看別人的空間,發(fā)條說(shuō)說(shuō)。中午12點(diǎn)左右也有一波小高峰
一會(huì)我再統(tǒng)計(jì)張中國(guó)人習(xí)慣幾點(diǎn)起床,幾點(diǎn)吃飯,幾點(diǎn)睡覺(jué)的圖吧
2、中國(guó)人都喜歡在幾月生小孩呢?
最熱門(mén)的是1月份和10月份,最冷門(mén)的是4月份。10月份生小孩的多好理解,一年忙差不多了,天氣也不冷不熱正是生小孩的好時(shí)候。 但1月份***且和2月落差很大有點(diǎn)不好理解,那么冷的天生不怕凍嗎? 我估計(jì)是1月份也快過(guò)年了,以前沒(méi)聚一起的好不容易聚一起了,就容易沖動(dòng),沖動(dòng)就啪啪啪。 4月份生日的最少也好理解,中國(guó)人不喜歡4這個(gè)數(shù)字唄。 大數(shù)據(jù)有意思吧?。?我覺(jué)得太好玩了,后面還有很多呢。
3、這是我目前爬取的用戶(hù)所在地分布
你能猜出我是哪的了嗎?前四名分別為:廣東,湖南,四川,江蘇。 沒(méi)錯(cuò),我就是湖南的! 湖南人在廣東打工的超級(jí)多,這也能理解為什么廣東***了。江蘇是我上學(xué)的地方,有點(diǎn)琢磨不透的是四川和我非情非故的居然排第3名,我的朋友們,你們是 誰(shuí)播的種?站出來(lái)! 還有一種可能,四川人交際能力***,我平時(shí)在重慶小面吃飯,四川人確實(shí)特別,說(shuō)話(huà)語(yǔ)速那個(gè)快啊,聲調(diào)那個(gè)高啊。受不了!
4、數(shù)據(jù)人群的年齡分布
一不小心就暴漏了我的年齡,沒(méi)錯(cuò)。我就是那個(gè)***值的1990年;從目前的數(shù)據(jù)來(lái)看,無(wú)論是分布地區(qū)以及年齡階段與我的關(guān)聯(lián)還非常大,隨著數(shù)據(jù)量的 不斷增加這種關(guān)聯(lián)會(huì)逐漸變小,統(tǒng)計(jì)圖也會(huì)逐漸接近全國(guó)用戶(hù)的真實(shí)情況。真想弄幾臺(tái)服務(wù)器分布式搞起,估計(jì)一周就能爬上億的簡(jiǎn)單數(shù)據(jù)。 單靠我的筆記本和家里超爛的網(wǎng)速達(dá)到這個(gè)目標(biāo)還很遠(yuǎn)。
5、數(shù)據(jù)人群性別分布
男比女足足多了23%的人數(shù),我分析認(rèn)為實(shí)際差距應(yīng)該是不大的,但女生在設(shè)置QQ空間訪(fǎng)問(wèn)權(quán)限時(shí)普遍要比男生的高。所以我爬取的數(shù)據(jù)中男生居多。
6、下面系列圖是根據(jù)一些“關(guān)鍵字”在說(shuō)說(shuō)中出現(xiàn)的頻率統(tǒng)計(jì)出來(lái)的,相當(dāng)有意思。
6.1 圖說(shuō)股市
在知乎“能利用爬蟲(chóng)技術(shù)做到哪些很酷很有趣很有用的事情?” 有一個(gè)google實(shí)習(xí)的哥們@Emily L爬了400億條tweet也做了很多有趣的分,其中提到一篇關(guān)于利用twitter上人的心情來(lái)預(yù)測(cè)股市的論文(http://battleofthequants.net/wp-content/uploads/2013/03/2010-10-15_JOCS_Twitter_Mood.pdf)很有意思。另附我在該問(wèn)題下的答案“用爬蟲(chóng)監(jiān)測(cè)她(他)的知乎動(dòng)態(tài)”,僅做技術(shù)玩樂(lè),求別再?lài)娢意嵙恕?/p>
如果當(dāng)我們擁有海量的QQ空間***說(shuō)說(shuō),和sina微博數(shù)據(jù)。我想,用它們來(lái)做一些股市或者其它方面的分析預(yù)測(cè)是可行的,準(zhǔn)確度應(yīng)該也是非常高的。我接下來(lái)可能會(huì)考慮去做這件有趣的事情。
將股票中的關(guān)鍵字做海量數(shù)據(jù)分析,比如會(huì)得出當(dāng)日討論股票排行榜。進(jìn)而能得到海量討論股票的用戶(hù),再通過(guò)市場(chǎng)的實(shí)際反饋找出股票上漲及下跌的正相關(guān) 因子,再對(duì)這些海量用戶(hù)進(jìn)行分析計(jì)算得出最靠譜股票推薦大神排行榜。對(duì)這些用戶(hù)分級(jí),分優(yōu)先度及抓取密度來(lái)拿數(shù)據(jù)。用這些數(shù)據(jù)分析出哪些是靠譜的股票肯定 靠譜。
6.2 群眾討論最多的明星排行榜,還是很靠譜的。
另附我抓的明星QQ號(hào)吧,純屬娛樂(lè),自辯真假。有些空間確實(shí)有很多生活私照。
張杰QQ:419998 花千骨的趙麗穎QQ:427794 謝娜QQ:500746 楊冪QQ:456773 范冰冰QQ:88597 周杰倫QQ:332661
6.3 最為用戶(hù)喜愛(ài)的手機(jī)品牌
6.4 人們最喜歡談?wù)摰幕ヂ?lián)網(wǎng)公司,阿里之所以這么低估計(jì)是大家都喜歡叫它淘寶或者天貓吧。 取這么多名字,自討苦吃。
6.5 QQ空間中討論的最為頻繁的社交平臺(tái)排行榜。
6.6 生活的統(tǒng)計(jì)圖
愛(ài)>恨; 開(kāi)心>傷心; 笑聲>嘆氣聲; 吃貨很多; 誰(shuí)特么說(shuō)中國(guó)不幸福了,這滿(mǎn)滿(mǎn)的都是正能量數(shù)據(jù)啊。
好了,其實(shí)還可以做很多其它的分析。如果大家有什么有趣的數(shù)據(jù)分析想知道的,那就給我留言吧。
技術(shù)不多說(shuō)了,程序不難,多線(xiàn)程數(shù)據(jù)庫(kù)操作卻是把我搞苦了。還好,現(xiàn)在程序差不多穩(wěn)定了。過(guò)程也是很有意思的,有空我再寫(xiě)個(gè)程序升級(jí)過(guò)程中的那些趣 事吧。我覺(jué)得一個(gè)美妙的程序一定是高度模擬現(xiàn)實(shí)的,就像飛機(jī)模仿蜻蜓,雷達(dá)模仿蝙蝠一樣。 這次的程序設(shè)計(jì)就是模擬的工廠(chǎng)的生產(chǎn)線(xiàn)。附個(gè)設(shè)計(jì)圖吧
另外廣泛征集大家的聰明點(diǎn)子, 能否用這些數(shù)據(jù)做一個(gè)有趣的網(wǎng)站,app。