喜馬拉雅聽聽爬蟲

? ? ? 自己喜歡在上班的途中聽點有聲書契吉,所以經(jīng)常在喜馬拉雅上找資源耗拓,要找到一個好聽的節(jié)目不容易次询,雖然在喜馬拉雅官網(wǎng)上可以按分類來看贸呢,但是卻不能按點贊數(shù)或者評論內(nèi)容排序找镰烧,不是很方便,于是就用Python寫了個爬蟲楞陷,把所有聲音的相關(guān)信息怔鳖、評論內(nèi)容都抓取下來,然后放到數(shù)據(jù)庫來分析固蛾,這樣喜歡什么樣的資源结执,直接根據(jù)聲音或評論的內(nèi)容來匯總分析度陆,結(jié)果就一目了然了。

流程實現(xiàn)圖


Urllib,request, selenium

? ? ? Web的訪問使用urllib和urllib2献幔,相比request懂傀、selenium來說,效率更高些蜡感,感覺也穩(wěn)定些蹬蚁,之前使用request的遇到https的網(wǎng)址處理起來有點問題。而selenium呢郑兴,自動化操作可以不用分析具體頁面的處理邏輯缚忧,不過對于這種海量數(shù)據(jù),處理起來速度就會慢很多杈笔。

多線程和隊列

? ? ? 使用了2個threading.Thread的繼承類闪水,Ximalaya類用來解析聲音專輯,分析提取專輯內(nèi)的聲音信息蒙具,解析出評論地址球榆;CommentDown類專門用來提取保存評論內(nèi)容信息;一般一個聲音會有多條評論禁筏,多的上千條評論持钉,所以CommentDown分配了10個線程來提取評論,Ximalaya分配了3個線程來分析專輯的聲音信息篱昔。

? ? ? 使用了2個隊列每强,1個用來保存專輯url,大小100州刽,1個用來保存評論url空执,大小設(shè)置為200;這樣在超過隊列最大值的時候就會停下來穗椅,等待前面隊列里處理了再繼續(xù)辨绊,可以有效控制整個爬蟲速度,以免訪問太過頻繁被網(wǎng)站給屏蔽了匹表。

數(shù)據(jù)保存

? ? ? 使用了Mongodb數(shù)據(jù)庫门坷,Nosql處理高并發(fā)的,相比SQL速度和效率要高得多袍镀。Mongodb里在music下保存聲音的相關(guān)信息(比如聲音的專輯名默蚌、專輯地址、聲音的地址苇羡、聲音的時長绸吸、點贊數(shù)等等),bookcomment下保存聲音的評論內(nèi)容。

斷點續(xù)傳惯裕、重復(fù)處理

? ? ? 遇到中途中斷后要繼續(xù)執(zhí)行温数,還得考慮下斷點續(xù)傳,這里處理得比較簡單粗暴蜻势,在Ximalaya處理聲音的時候撑刺,會先判斷數(shù)據(jù)庫是否有聲音的地址,如果存在就是跳過不再處理握玛,在CommentDown處理評論的時候够傍,判斷判斷數(shù)據(jù)庫是否有聲音的地址,如果存在就是跳過不再處理挠铲,這樣對于后面比較費時處理部分都可以直接跳過冕屯,也不會存在有重復(fù)的數(shù)據(jù)會影響最后的分析的問題。

異常處理

? ? ? 程序在解析頁面的時候拂苹,可能會有超時之類的異常情況安聘,增加了對應(yīng)的異常處理,socket.setdefaulttimeout(20)設(shè)置全局超時為20秒瓢棒,超過20秒就會超時報錯浴韭,這樣再通過異常捕獲來處理,設(shè)置了異常處理記數(shù)器脯宿,對于異常頁面重復(fù)處理指定次數(shù)后不再處理念颈,避免部分聲音頁面被刪除一直訪問異常的情況。

數(shù)據(jù)分析

? ? ? 最后對保存到數(shù)據(jù)庫的數(shù)據(jù)進行分析连霉,做分析的時候Nosql做關(guān)聯(lián)分析太痛苦了榴芳,完全不如sql查詢方便,于是把數(shù)據(jù)導(dǎo)入到Oracle來進行的分析跺撼,根據(jù)評論內(nèi)容中的關(guān)鍵字來標識判斷(例如:“點贊”窟感,“好聽”,“太棒“之類的都判斷成受歡迎)财边,最后再用匯總統(tǒng)計出結(jié)果肌括。

評論最受歡迎的TOP20有聲書:

評論最受歡迎的TOP10綜藝節(jié)目:

評論最受歡迎的TOP20音樂:

評論普通話說得最好的節(jié)目:

最后源代碼也附上了,有興趣的朋友可以自己看看:

爬蟲源代碼

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末酣难,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子黑滴,更是在濱河造成了極大的恐慌憨募,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件袁辈,死亡現(xiàn)場離奇詭異菜谣,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門尾膊,熙熙樓的掌柜王于貴愁眉苦臉地迎上來媳危,“玉大人,你說我怎么就攤上這事冈敛〈Γ” “怎么了?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵抓谴,是天一觀的道長暮蹂。 經(jīng)常有香客問我,道長癌压,這世上最難降的妖魔是什么仰泻? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮滩届,結(jié)果婚禮上集侯,老公的妹妹穿的比我還像新娘。我一直安慰自己帜消,他們只是感情好浅悉,可當我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著券犁,像睡著了一般术健。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上粘衬,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天荞估,我揣著相機與錄音,去河邊找鬼稚新。 笑死勘伺,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的褂删。 我是一名探鬼主播飞醉,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼屯阀!你這毒婦竟也來了缅帘?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤难衰,失蹤者是張志新(化名)和其女友劉穎笔喉,沒想到半個月后岂津,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體吕晌,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡熄诡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年彼宠,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片弟塞。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡凭峡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出决记,到底是詐尸還是另有隱情摧冀,我是刑警寧澤,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布霉涨,位于F島的核電站按价,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏笙瑟。R本人自食惡果不足惜楼镐,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望往枷。 院中可真熱鬧框产,春花似錦、人聲如沸错洁。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽屯碴。三九已至描睦,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間导而,已是汗流浹背忱叭。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留今艺,地道東北人韵丑。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像虚缎,于是被迫代替她去往敵國和親撵彻。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 自己喜歡在上班的途中聽點有聲書实牡,所以經(jīng)常在喜馬拉雅上找資源陌僵,要找到一個好聽的節(jié)目不容易,雖然在喜馬拉雅官網(wǎng)上可以按...
    陽光樹林閱讀 1,613評論 2 50
  • 國內(nèi)最火爆的音頻app要屬喜馬拉雅,喜馬拉雅FM APP于2013年上線,定位為音頻分享與點播社區(qū)携栋。與傳統(tǒng)的廣播行...
    迷途小球迷閱讀 2,442評論 0 1
  • 我只參加了一次高考搭盾,談不上什么經(jīng)驗,但還是愿意說說我的感受婉支。 進入考場鸯隅,找到自己的位置,坐下來向挖,整理一下帶的必要文...
    路福閱讀 329評論 0 4
  • 做微商以來蝌以,經(jīng)歷過的事很多很多,不敢主動找你聊天何之,因為怕你說跟你聊天就是想買我的產(chǎn)品跟畅,因為這樣我們的關(guān)系越來越淡,...
    z鐘姐閱讀 163評論 0 0
  • 重契履約誠可貴溶推,欺鰥騙寡義難彰徊件。 陳師訴狀何求報,守正持公古道腸蒜危。 ——新韻十唐 注: 陳師:清末著名訟師陳夢吉虱痕,...
    姬伯昆閱讀 999評論 2 18