Python與豆瓣讀書
導語
利用Python爬取豆瓣讀書的一些數據,並對這些數據做一定的分析。
標題可能改成類似「大數據時代如何科學有效地閱讀」這樣的題目更加引入矚目吧,hhhhh。
——>
對過程不感興趣的同學可以直接下拉到最後看結果~~~
主要思路
利用Python的requests模塊和beautifulsoup模塊來爬取豆瓣讀書的數據,並對這些數據做一定的分析。
爬取的數據包括:
豆瓣圖書各個分類中所有書籍的"書名", "作者/譯者", "出版信息", "星級", "評分", "評價人數", "簡介", "相應的豆瓣鏈接"。
例如:
同時,通過爬取的豆瓣鏈接對具體書籍的質量做一定的分析,分析包括:
製作熱評詞雲、對熱評進行簡單的情感分析。
有需要者可自行修改源代碼進行更多的數據分析。
說明
(1)因為豆瓣嚴格限制爬蟲,且實際使用時也沒有必要爬取所有分類的圖書資料,給豆瓣伺服器帶來不必要的壓力,因此我給出的源代碼一次僅能爬取一個小類的圖書資料,且為單進程。
(2)在相關文件中,本人已經提供了爬取到的上百個分類的幾萬本圖書數據,供有需要者參考。
PS:
建築、漫畫、日本漫畫、耽美這四個小類的數據寫入excel時拋出異常,因此暫時無法提供數據。
開發工具
Python版本:3.5.4
相關模塊:
requests模塊、jieba模塊、BeautifulSoup模塊、openpyxl模塊、matplotlib模塊、wordcloud模塊、snownlp模塊以及一些Python自帶的模塊。
環境搭建
安裝Python並添加到環境變數,pip安裝需要的相關模塊即可。
前期準備
以chrome瀏覽器為例。
使用演示1
演示內容為:
爬取某個小類所有相關書籍基本信息。
截圖如下:
按照提示進行輸入,輸入完成後按下回車鍵即可。
最後結果將保存在results文件夾中:
結果展示1
分析內容為:
挑選其中幾類利用excel的統計功能對獲得的數據進行簡單的分析。
以名著類為例:
評分分布圖:
評分Top10:
世界童話名著連環畫
坂田榮男圍棋全集(共12冊)
世界文學名著連環畫 歐美部分(全十冊)
三國演義
細說紅樓夢 1-80回
世界文學名著連環畫(亞非部分全五冊)
算術探索
三國演義(繪畫本1-5)
四大名著(套裝全4冊)
紅樓夢
熱度(評論人數)Top10:
圍城
不能承受的生命之輕
紅樓夢
百年孤獨
簡愛
傲慢與偏見
飄
月亮和六便士
邊城
霍亂時期的愛情
更多內容請自行下載相關文件中提供的數據根據個人喜好進行分析選擇。
使用演示2
演示內容為:
對具體書籍製作豆瓣熱評詞雲並對豆瓣熱評進行簡單的情感分析。
截圖如下:
鏈接地址都保存到了excel表中,複製粘貼即可。
如下圖所示:
結果展示2
分析內容為:
爬取豆瓣讀書中具體一本書的前20頁短評,並製作成詞雲,同時對這些短評進行簡單的情感分析。
以《統計學習方法》為例:
詞云:
情感分析:
數值較大說明情感偏積極,否則情感偏消極。
更多
本人不是專業做數據分析的~~~
所以分析的有些稚嫩~~~
歡迎專業人士指導補充~~~
※Python大佬告訴你海賊王,火影,死神三大神作都講了些什麼
TAG:Python |