日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python 豆瓣评论数据分析_Python爬虫实战案例:豆瓣影评大数据分析报告之网页分析...

發布時間:2025/3/19 python 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python 豆瓣评论数据分析_Python爬虫实战案例:豆瓣影评大数据分析报告之网页分析... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

個人希望,通過這個完整的爬蟲案例(預計總共4篇短文),能夠讓爬蟲小白學會怎么做爬蟲的開發,所以在高手們看來,會有很多淺顯的廢話,如果覺得啰嗦,可以跳過一些內容~

上一篇文章給大家簡單介紹了Python做爬蟲所需要的環境、豆瓣影評分析的步驟以及豆瓣影評分析報告。本文將介紹制作影評分析的第一步:網頁分析。以往的教程通常會忽略這一步,直接告訴怎么做,我希望多分享一些,便于大家盡快熟悉怎么從網頁上爬數據。

以往我們做得比較多的分析,基礎數據一般來自于企業內部的數據庫所存儲數據(通常我們稱之為結構化數據),或者是來自于手工文檔存儲的有一定格式的數據文件(通常稱之為半結構化數據)。而今天我們要做的數據分析,數據基礎來自于網頁數據,可以認為其是非結構化數據。非結構化數據的采集,和前兩者的區別在于,你需要從一堆看似無規律的數據中找出有規律的數據,然后再按照需求來處理。

回到起點,我們要對豆瓣影評進行分析,豆瓣影評所涉及的網頁有許多,每頁上的文字及圖片更是數不勝數。怎么才能讓大數據分析報告更有針對性、更準確呢?難道真要從大海里撈一堆垃圾,然后再從垃圾中尋找出規律么?

過往的工作經歷,告訴我,這么瞎干的話,是要累死人不賠命的。靜下心來理一理工作思路。還是和以前一樣,先理個大的步驟出來:

報表需求數據統計數據需求豆瓣模塊網頁分析

按順序走就好了,和以前做項目區別不大嘛~

報表需求:如前文所述,我們需要展現的報表包括電影評分排名表、分區域電影熱度表、電影熱度(評論數量)排名表、電影詞頻分析表;

數據統計:電影評分、電影熱度、分區域電影熱度、電影評論

數據需求:電影名稱、電影ID、電影評分、電影評論數、電影評論文字、電影區域。當然你還可以拿其他的一些數據備用,比如導演、演員、上映時間、片長等等。

OK,搞清楚數據需求,下一步要做的就是對豆瓣網電影模塊進行分析,在哪里可以拿到我們所需要的數據。

限于數據要求,我們本次就只對正在熱映的電影數據進行抓取和分析。網頁路徑為:豆瓣電影首頁——>全部正在熱映(https://movie.douban.com/cinema/nowplaying/chengdu/,我在成都,所以系統默認是成都目前熱映的電影頁面,就是它了)。就下面這個頁面。

接下來,是到了分析網頁數據的時候了。在剛才的網頁頁面上,按下“F12”鍵,進入該網頁的開發者工具部分,其實就是形成網頁的元素及代碼。相信做過網頁前端的朋友都清楚,沒做過的也沒關系,在網上找找資料看一看就明白,這兒就不展開來說了。

開發者工具——>調試程序,你看到的就是網頁源碼,如下圖:

現在我們開始查找我們要的數據。舉個例子更容易懂些,比如網頁上的電影名稱“狂暴巨獸”,我們需要看看如何在網頁中找到。在開發者工具的右上角輸入“

狂暴巨獸

”,然后回車查找,看到如下信息:

大家有點明白沒?正在熱映的電影《狂暴巨獸》,在網頁背后的信息(姑且這么理解哈)就是這樣存起來的。關于HTML頁面的結構和語言,本文就不詳細闡述了,有興趣的朋友可以自行研究哈。下面將盡可能的用小白文而不是IT語言,把我們要抓取的內容所涉及的內容給闡述清除,做過Web前端的朋友應該可以直接忽略這一段了。

我們所看到的Web頁面,其背后是由多層容器嵌套而成,你可以想象成超市里買的組合裝保鮮盒,大的套小的,小的再套小的,每個容器里裝的就是我們在網頁上看到的內容。容器有個官方名稱叫“標簽”(英文tag)。上圖看到的《頭號玩家》的信息,包括演員啦、導演啦、地區啦等等,都是被裝在

...

這個標簽中的。對了,通常標簽會是成雙成對出現,有開始有結束,比如也可以寫成簡化版的

。只要通過開始結束標簽,你就能很容易分清楚容器包含的內容。記住咯,容器是可以嵌套的,里三層外三層,我們要做的就是通過抽絲剝繭,將需要的數據給扒拉出來。

OK,找到最底層數據了,開始向外扒拉:

1、在

標簽外面,是

標簽,該標簽有一個屬性“class='lists'”,記住了,后續我們的程序會用到的哈~

2、繼續往外扒拉,是屬性為“class='mod-bd'”的div標簽

3、繼續往外扒拉,依然是div標簽,只是屬性變成了“id='nowplaying'”,這個單詞熟悉不?好像是“正在上映”哦,哈哈,得來完全不費工夫啊

4、額外還得提一個,就是圖下方的href='...',那就是每部電影詳細信息的鏈接地址,這個也要扒拉下來,就靠它在程序里進到下一步處理咯

在開發者工具,滾動條往下拉一拉,另一部電影《頭號玩家》的信息也出來了。

繼續往下拉,一部一部電影都出來了,是不是看起來特別像我們熟悉的結構化數據了啊,電影ID、電影名、評分、上映時間、片長、地區、導演、演員、點評數、地址等等。我們把一部部電影的數據存起來,是不是就是我們熟悉的關系型數據模型了呢。終于回到我們熟悉的情景了。

看明白沒?沒明白倒回去再瞅瞅,看明白了我們往下吧。。。剛才只是看到了電影的基礎信息,我們最想要的評論還沒看到呢,評論在哪里呢?在網頁上點擊電影縮略圖,會跳轉到電影詳細頁面,其實呢,網址就是上面扒拉下來的href啦。往下啦,看到我們需要的評論了。。。

繼續上一個頁面的動作,一言不合就按F12鍵。。。以后你們會上癮的,打開網頁就想按F12鍵。。。一樣的,在查詢欄輸入“全部 5884 條”,記得數字前后有空格,不然查不到的。

找到了吧,記住其前后的標簽哈。大家多嘗試,我就不一個一個列了。下一步是找到影迷對電影的評論了。點擊“更多短評”,跳到詳細評論頁面:

詳細評論每頁只有20條,所以要獲得更多的評論,需要翻頁啦。怎么在程序里實現翻頁?請點擊“后一頁”,跳轉后仔細看IE地址欄中的地址:https://movie.douban.com/subject/26430636/comments?start=20&limit=20&sort=new_score&status=P&percent_type=,中間的start=20以及limit=20,就是從第20條開始,每頁顯示20條,明白了么?未來在程序中,你需要自動改變start的數字來打開詳細評論網頁。

下一步,繼續獲取評論數據,依然是F12,沒創意。網頁上找個影迷的昵稱,輸入查找,看到了評論數據所在的位置和標簽。

OK,我們已經把我們想要的數據都找到了,大家學會了怎么在網頁上找自己想要的內容了么?不光是豆瓣哦,其他網站也可以的,比如看小說的網站,先把所有小說扒拉下來再慢慢看,甚至于電影,你都可以的。當然,涉及版權的問題,大家要注意的哈;涉及腎的問題,大家就自己保重了哈~

今天我們主要就講了怎么樣獲取數據需求,并手工去扒拉所需數據信息,流程像不像以前我們做企業管理報表的數據需求及滿足度分析啊?大家很多時候可以觸類旁通的。下一篇,我給大家講解在Python中,怎么樣獲取、分析并讀取網頁上所需的數據。

總結

以上是生活随笔為你收集整理的python 豆瓣评论数据分析_Python爬虫实战案例:豆瓣影评大数据分析报告之网页分析...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。