Python爬取豆瓣讀書

主要思路

利用Python的requests模塊和beautifulsoup模塊來爬取豆瓣讀書的數據,並對這些數據做一定的分析。
爬取的數據包括:
豆瓣圖書各個分類中所有書籍的’書名’, ‘作者/譯者’, ‘出版信息’, ‘星級’, ‘評分’, ‘評價人數’, ‘簡介’, ‘相應的豆瓣鏈接’。
例如:

同時,通過爬取的豆瓣鏈接對具體書籍的質量做一定的分析,`分析包括:`
製作熱評詞雲、對熱評進行簡單的情感分析。
有需要者可自行修改源代碼進行更多的數據分析。

說明
(1)因爲豆瓣嚴格限制爬蟲,且實際使用時也沒有必要爬取所有分類的圖書資料,給豆瓣服務器帶來不必要的壓力,因此我給出的源代碼一次僅能爬取一個小類的圖書資料,且爲單進程。
(2)在相關文件中,本人已經提供了爬取到的上百個分類的幾萬本圖書數據,供有需要者參考。
PS:
建築、漫畫、日本漫畫、耽美這四個小類的數據寫入excel時拋出異常,因此暫時無法提供數據。

開發工具

**Python版本:**3.5.4
相關模塊:
requests模塊、jieba模塊、BeautifulSoup模塊、openpyxl模塊、matplotlib模塊、wordcloud模塊、snownlp模塊以及一些Python自帶的模塊。

環境搭建

安裝Python並添加到環境變量,pip安裝需要的相關模塊即可。
#前期準備

使用演示1

演示內容爲:
爬取某個小類所有相關書籍基本信息。
截圖如下:

按照提示進行輸入,輸入完成後按下回車鍵即可。
最後結果將保存在results文件夾中:

結果展示1

分析內容爲:
挑選其中幾類利用excel的統計功能對獲得的數據進行簡單的分析。
以名著類爲例:
評分分佈圖:

評分Top10:
世界童話名著連環畫
阪田榮男圍棋全集(共12冊)
世界文學名著連環畫 歐美部分(全十冊)
三國演義
細說紅樓夢 1-80回
世界文學名著連環畫(亞非部分全五冊)
算術探索
三國演義(繪畫本1-5)
四大名著(套裝全4冊)
紅樓夢
熱度(評論人數)Top10:
圍城
不能承受的生命之輕
紅樓夢
百年孤獨
簡愛
傲慢與偏見

月亮和六便士
邊城
霍亂時期的愛情
更多內容請自行下載相關文件中提供的數據根據個人喜好進行分析選擇。

使用演示2

演示內容爲:
對具體書籍製作豆瓣熱評詞雲並對豆瓣熱評進行簡單的情感分析。
截圖如下:

鏈接地址都保存到了excel表中,複製粘貼即可。

如下圖所示:

結果展示2

分析內容爲:
爬取豆瓣讀書中具體一本書的前20頁短評,並製作成詞雲,同時對這些短評進行簡單的情感分析。
以《統計學習方法》爲例:
詞雲:

情感分析:

數值較大說明情感偏積極,否則情感偏消極。

豆瓣相關文件

關注並轉發後關注公衆號:python工程獅,回覆“豆瓣讀書”即可獲取。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章