Python3爬蟲(chóng)獲取豆瓣讀書(shū)數(shù)據(jù)

2019-09-25 14:06 更新

本文轉(zhuǎn)載至知乎ID:Charles(白露未晞)知乎個(gè)人專欄

下載W3Cschool手機(jī)App,0基礎(chǔ)隨時(shí)隨地學(xué)編程>>戳此了解

導(dǎo)語(yǔ)

利用Python爬取豆瓣讀書(shū)的一些數(shù)據(jù),并對(duì)這些數(shù)據(jù)做一定的分析。

標(biāo)題可能改成類似“大數(shù)據(jù)時(shí)代如何科學(xué)有效地閱讀”這樣的題目更加引入矚目吧,hhhhh。

——>

對(duì)過(guò)程不感興趣的同學(xué)可以直接下拉到最后看結(jié)果~~~

相關(guān)文件

百度網(wǎng)盤(pán)下載鏈接: https://pan.baidu.com/s/1N8mWiDtf7WeBt-lxVPL1_g

密碼: s4xb

主要思路

利用Python的requests模塊和beautifulsoup模塊來(lái)爬取豆瓣讀書(shū)的數(shù)據(jù),并對(duì)這些數(shù)據(jù)做一定的分析。

爬取的數(shù)據(jù)包括:

豆瓣圖書(shū)各個(gè)分類中所有書(shū)籍的'書(shū)名', '作者/譯者', '出版信息', '星級(jí)', '評(píng)分', '評(píng)價(jià)人數(shù)', '簡(jiǎn)介', '相應(yīng)的豆瓣鏈接'。

例如:


同時(shí),通過(guò)爬取的豆瓣鏈接對(duì)具體書(shū)籍的質(zhì)量做一定的分析,分析包括

制作熱評(píng)詞云、對(duì)熱評(píng)進(jìn)行簡(jiǎn)單的情感分析。

有需要者可自行修改源代碼進(jìn)行更多的數(shù)據(jù)分析。

說(shuō)明

(1)因?yàn)槎拱陣?yán)格限制爬蟲(chóng),且實(shí)際使用時(shí)也沒(méi)有必要爬取所有分類的圖書(shū)資料,給豆瓣服務(wù)器帶來(lái)不必要的壓力,因此我給出的源代碼一次僅能爬取一個(gè)小類的圖書(shū)資料,且為單進(jìn)程。

(2)在相關(guān)文件中,本人已經(jīng)提供了爬取到的上百個(gè)分類的幾萬(wàn)本圖書(shū)數(shù)據(jù),供有需要者參考。

PS:

建筑、漫畫(huà)、日本漫畫(huà)、耽美這四個(gè)小類的數(shù)據(jù)寫(xiě)入excel時(shí)拋出異常,因此暫時(shí)無(wú)法提供數(shù)據(jù)。

開(kāi)發(fā)工具

Python版本:3.5.4

相關(guān)模塊

requests模塊、jieba模塊、BeautifulSoup模塊、openpyxl模塊、matplotlib模塊、wordcloud模塊、snownlp模塊以及一些Python自帶的模塊。

環(huán)境搭建

安裝Python并添加到環(huán)境變量,pip安裝需要的相關(guān)模塊即可。

前期準(zhǔn)備

以chrome瀏覽器為例。



使用演示1

演示內(nèi)容:

爬取某個(gè)小類所有相關(guān)書(shū)籍基本信息。

截圖如下:


按照提示進(jìn)行輸入,輸入完成后按下回車鍵即可。

最后結(jié)果將保存在results文件夾中:


結(jié)果展示1

分析內(nèi)容為

挑選其中幾類利用excel的統(tǒng)計(jì)功能對(duì)獲得的數(shù)據(jù)進(jìn)行簡(jiǎn)單的分析。

以名著類為例:

評(píng)分分布圖:


評(píng)分Top10:

世界童話名著連環(huán)畫(huà)

坂田榮男圍棋全集(共12冊(cè))

世界文學(xué)名著連環(huán)畫(huà) 歐美部分(全十冊(cè))

三國(guó)演義

細(xì)說(shuō)紅樓夢(mèng) 1-80回

世界文學(xué)名著連環(huán)畫(huà)(亞非部分全五冊(cè))

算術(shù)探索 

三國(guó)演義(繪畫(huà)本1-5) 

四大名著(套裝全4冊(cè))

紅樓夢(mèng)

熱度(評(píng)論人數(shù))Top10:

圍城

不能承受的生命之輕

紅樓夢(mèng)

百年孤獨(dú)

簡(jiǎn)愛(ài)

傲慢與偏見(jiàn)

月亮和六便士

邊城

霍亂時(shí)期的愛(ài)情

更多內(nèi)容請(qǐng)自行下載相關(guān)文件中提供的數(shù)據(jù)根據(jù)個(gè)人喜好進(jìn)行分析選擇。

使用演示2

演示內(nèi)容為:

對(duì)具體書(shū)籍制作豆瓣熱評(píng)詞云并對(duì)豆瓣熱評(píng)進(jìn)行簡(jiǎn)單的情感分析。

截圖如下:


鏈接地址都保存到了excel表中,復(fù)制粘貼即可。

如下圖所示:


結(jié)果展示2

分析內(nèi)容為

爬取豆瓣讀書(shū)中具體一本書(shū)的前20頁(yè)短評(píng),并制作成詞云,同時(shí)對(duì)這些短評(píng)進(jìn)行簡(jiǎn)單的情感分析。

以《統(tǒng)計(jì)學(xué)習(xí)方法》為例:

詞云:



情感分析:



數(shù)值較大說(shuō)明情感偏積極,否則情感偏消極。

更多

本人不是專業(yè)做數(shù)據(jù)分析的~~~

所以分析的有些稚嫩~~~

歡迎專業(yè)人士指導(dǎo)補(bǔ)充~~~


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)