欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

使用Python編程分析火爆全網的魷魚游戲豆瓣影評

 更新時間:2021年10月08日 10:04:35   作者:小張Python  
本文來為大家介紹如何使用Python爬取影評的操作,主要是爬取《魷魚游戲》在豆瓣上的一些影評,對數據做一些簡單的分析,用數據的角度重新審視下這部劇,有需要的朋友可以借鑒參考下

Hello,各位讀者朋友們好啊,我是小張~

這不國慶嘛,就把最近很火的一個韓劇《魷魚游戲》刷了下,這部劇整體劇情來說還是非常不錯的,很值得一看,

作為一個技術博主,當然不能在這兒介紹這部劇的影評,畢竟自己在這方面不是專業(yè)的,最關鍵還是自己也寫不出來

技術工具

在正文開始之前,先介紹下本篇文章中用到的技術棧和工具。

本文用到的技術棧和工具如下,歸結為四個方面;

  • 語言:Python,Vue ,javascript;
  • 存儲:MongoDB;
  • 庫:echarts ,Pymongo,WordArt…
  • 軟件:Photoshop;

數據采集

本次數據采集的目標網站為 豆瓣 ,但自己的賬號之前被封,所以只能采集到大概二百來條數據,豆瓣有相應的反爬機制,瀏覽10頁以上的評論需要用戶登錄才能進行下一步操作

至于為啥賬號被封,是因為之前自己學爬蟲時不知道在哪里搞的【豆瓣模擬登錄】代碼,當時不知道代碼有沒有問題,愣頭青直接用自己的號試了下,誰知道剛試完就被封了,而且還是永久的那種

image-20211002125521303

圖1

在這里也給大家提個醒在以后做爬蟲時,模擬登錄時盡量用一些測試賬號,能不用自己的號就別用,

這次數據采集也比較簡單,就是更改圖2 中 url 上的 start 參數,以 offset 為 20 的規(guī)則 作為下一頁 url 的拼接;

image-20211002130109452

圖2

拿到 請求連接之后,用 requests 的 get 請求,再對獲取到的 html 數據做個解析,就能獲取到我們需要的數據了;采集核心代碼貼在下方

for offset in range(0,220,20):
    url = "https://movie.douban.com/subject/34812928/comments?start={}&limit=20&status=P&sort=new_score".format(offset)
    res = requests.get(url,headers= headers)
    # print(res.text)
    soup = BeautifulSoup(res.text,'lxml')
    time.sleep(2)
    for comment_item in soup.select("#comments > .comment-item"):
        try:

            data_item = []
            avatar = comment_item.select(".avatar a img")[0].get("src")
            name = comment_item.select(".comment h3 .comment-info a")[0]
            rate = comment_item.select(".comment h3 .comment-info span:nth-child(3)")[0]
            date = comment_item.select(".comment h3 .comment-info span:nth-child(4)")[0]
            comment = comment_item.select(".comment .comment-content span")[0]
            # comment_item.get("div img").ge
            data_item.append(avatar)
            data_item.append(str(name.string).strip("\t"))
            data_item.append(str(rate.get("class")[0]).strip("allstar").strip('\t').strip("\n"))
            data_item.append(str(date.string).replace('\n','').strip('\t'))
            data_item.append(str(comment.string).strip("\t").strip("\n"))
            data_json ={
                'avatar':avatar,
                'name': str(name.string).strip("\t"),
                'rate': str(rate.get("class")[0]).strip("allstar").strip('\t').strip("\n"),
                'date' : str(date.string).replace('\n','').replace('\t','').strip(' '),
                'comment': str(comment.string).strip("\t").strip("\n")
            }
            if not (collection.find_one({'avatar':avatar})):
               print("data _json is {}".format(data_json))
               collection.insert_one(data_json)
            f.write('\t'.join(data_item))
            f.write("\n")
        except Exception as e:
            print(e)
            continue

豆瓣爬取時需要記得加上 cookie 和 User-Agent,否則不會有數據為空,

為了后面數據可視化提取方便,本文用的是 Mongodb 作為數據存儲,共有211 條數據,主要采集的數據字段為 avatar,name、rate、date、comment,分別表示用戶頭像、用戶名字、星級、日期,評論;結果見圖3;

image-20211002130736309

圖3

關于 Python 怎么使用 MongoDB,可以參考舊聞

數據可視化

可視化部分之前打算用 Python + Pyecharts 來實現,但 Python 圖表中的交互效果不是很好,索性就直接用原生 Echarts + Vue 組合來實現,而且,這樣的話,將所有圖表放在一個網頁中也比較方便

首先是對評論時間與評論數量做了一個圖表預覽,根據這些數據的評論時間作為一個散點圖分布,看一下用戶評論主要的時間分布

動畫11

圖4

圖4中點的大小和顏色代表當天評論數量,而評論數量也可以側面反應該劇當天的熱度。

可以 了解到,《魷魚游戲》影評從 9 月17 日開始增長,在 20 號數量達到頂峰,21 日回落;在21日-29日評論數量來回震蕩,相差不大;

直到國慶 10月1日最少,猜測可能是一方面是國慶假期大家都出去玩的緣故,另一方面是隨著時間推移,這個劇的熱度也就降下來了

為了了解大家對《魷魚游戲》的評價,我對這二百條數據對這個劇的【評分星級】繪制了一個餅圖,最終效果見 圖5

動畫2

圖5

說實話圖5 的結果讓我有些意外,至少對于我而言這部劇質量說實話還是蠻高的,繪圖之前以為【五星】的占比應該是最大的,其次是【四星】,再然后是【三星】;

現在【三星】和【五星】的占比恰恰相反,猜測可能是這部劇的情節(jié)比較殘忍,會引起人的不適,所以高分占比不高;

為了方便,最后我將上面兩張圖表放置在一個網頁上,效果見圖6 和 圖7 兩種不同布局

垂直布局

動畫3

圖6

水平布局

動畫4

圖7

詞云可視化

本次采集的數據信息有限能分析的數據維度不多,關于數據圖表方面的分析基本就到這里了,下面是對采集到的評論做了幾張詞云圖

mask1_workArt

圖8

從圖8來看,去除現實中常用到的還是、就是等口頭語,人性 是影評中頻率最高的一個詞,而這個詞確實符合《魷魚游戲》這部劇的主題,從第一集開始到結束都是在刨析人性,賭徒們的”貪婪、賭性成癮“,貴賓們的”弱肉強食“

mask1_workArt1

圖9

對比上張詞云圖,圖9凸顯的信息相對就多了些,例如韓國、人設、刺激、劇情、賭博默示錄、題材等都與劇情有關,除了這幾個信息之外,李政宰、孔劉、李秉憲 等幾個主演也被提到

最后,我將采集到的用戶頭像做了兩張圖片墻作為文章的結尾

mask2_wall

圖10

圖10照片墻的輪廓采用的是劇中的人物截圖,一個是123木頭人 ,另外一個是男一在玩游戲二的一個鏡頭:

image-20211002171542736

關于照片墻制作方法,可參考舊聞:

小結

好了,以上就是本篇文章的全部內容了,本文分析到的東西并不多,主要是介紹了 Python 在數據采集和可視化方面的一些應用。

如果內容對你有所幫助的話,歡迎讀者朋友們將文章 分享 給更多的人!

最后感謝大家的閱讀,我們下期見~

更多關于Python分析豆瓣影評的資料請關注腳本之家其它相關文章!

相關文章

  • python flask解析json數據不完整的解決方法

    python flask解析json數據不完整的解決方法

    這篇文章主要介紹了python flask解析json數據不完整的解決方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • 基于python實現百度語音識別和圖靈對話

    基于python實現百度語音識別和圖靈對話

    這篇文章主要介紹了基于python實現百度語音識別和圖靈對話,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-11-11
  • Pycharm+Flask零基礎項目搭建入門的實現

    Pycharm+Flask零基礎項目搭建入門的實現

    本文主要介紹了Pycharm+Flask零基礎項目搭建入門的實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • python多線程并發(fā)實例及其優(yōu)化

    python多線程并發(fā)實例及其優(yōu)化

    這篇文章主要介紹了python多線程并發(fā)實例及其優(yōu)化,threading是擴展模塊,在thread的基礎上進行了封裝及改進。所以只需要使用threading這個模塊就能完成并發(fā)的測試,需要的朋友可以參考下
    2019-06-06
  • python實現數據清洗(缺失值與異常值處理)

    python實現數據清洗(缺失值與異常值處理)

    今天小編就為大家分享一篇python實現數據清洗(缺失值與異常值處理),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python編程pygal繪圖實例之XY線

    Python編程pygal繪圖實例之XY線

    這篇文章主要介紹了Python編程pygal繪圖實例之XY線,具有一定借鑒價值,需要的朋友可以參考下。
    2017-12-12
  • Python性能調優(yōu)的十個小技巧總結

    Python性能調優(yōu)的十個小技巧總結

    大家好,今天這篇文章關于Python性能調優(yōu)的10個小技巧,每天花5-10分鐘閱讀我的文章,對你技術提升一定會有幫助。喜歡記得收藏以防迷路
    2021-11-11
  • pytest多線程與多設備并發(fā)appium

    pytest多線程與多設備并發(fā)appium

    這篇文章介紹了pytest多線程與多設備并發(fā)appium,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • 深入理解Python中的 __new__ 和 __init__及區(qū)別介紹

    深入理解Python中的 __new__ 和 __init__及區(qū)別介紹

    這篇文章主要介紹了深入理解Python中的 __new__ 和 __init__及區(qū)別介紹,這兩個方法的主要區(qū)別在于:__new__ 負責對象的創(chuàng)建而 __init__ 負責對象的初始化。具體內容詳情大家跟隨小編一起看看吧
    2018-09-09
  • Kears 使用:通過回調函數保存最佳準確率下的模型操作

    Kears 使用:通過回調函數保存最佳準確率下的模型操作

    這篇文章主要介紹了Kears 使用:通過回調函數保存最佳準確率下的模型操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-06-06

最新評論