抓取豆瓣上的《长津湖》的热评,我发现了这些
生活随笔
收集整理的這篇文章主要介紹了
抓取豆瓣上的《长津湖》的热评,我发现了这些
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
前言
- 🔗 運(yùn)行環(huán)境:python3
- 🚩 作者:K同學(xué)啊
- 📚 精品專欄:《Matplotlib教程》
- 🧿 優(yōu)秀專欄:《Python入門100題》
- 🔥 推薦專欄:《小白入門深度學(xué)習(xí)》
- 🥇 精選專欄:《深度學(xué)習(xí)100例》
大家,我是K同學(xué)啊!
近期一部《長津湖》火爆朋友圈,被各種安利,咱一個人也不想跑電影院去霸個情侶座,就老老實(shí)實(shí)分析一下影評,看看大家的“觀后感”是吧~
首先定位目標(biāo)網(wǎng)頁
https://movie.douban.com/subject/25845392/comments
上爬蟲,抓取下面四個字段
然后使用pandas對導(dǎo)入數(shù)據(jù)并做簡單的處理
import pandas as pd import osfile_path = os.path.join("douban.csv")#讀取test.csv文件中的A、B列,若不設(shè)置usecols參數(shù),默認(rèn)讀取全部數(shù)據(jù)。 df = pd.read_csv(open(file_path,'r',encoding='utf-8'), names=["用戶名","星評","評論時間","評論"]) df.head()| 依然范特西 | 還行 | 2021-09-30 10:23:06 | 有點(diǎn)失望,劇情可以說無,還是一如既往的人物塑造,一如既往的這樣煽情,第一場戰(zhàn)斗要比第二場好看... |
| 奧利奧小餅干🍪 | 較差 | 2021-09-30 15:13:40 | 看完三個小時只想說以為高潮要來了結(jié)果戛然而止,有點(diǎn)頭重腳輕了,水門橋的部分是要單獨(dú)再拿出來整... |
| 高質(zhì)量鑒賞達(dá)人 | 較差 | 2021-09-26 21:17:48 | 去看了點(diǎn)映,值得票價,三個小時看下來還好,一直戰(zhàn)爭戲容易麻痹雙眼,但是也刺激。我不喜歡紅海因... |
| 吳點(diǎn)半 | 還行 | 2021-09-27 18:16:24 | 只說實(shí)話:\n1、片長太長,對觀眾非常不友好。戰(zhàn)爭戲完全可以減少,士兵互相鬧著玩的戲完全可以... |
| xi-xia | 還行 | 2021-09-30 11:11:45 | 戰(zhàn)斗場面篇幅之長,劇情邏輯銜接之弱,看到最后真的麻木了。片長控制在兩個小時更好一點(diǎn)。 |
豆瓣短評評分占比
from pyecharts.charts import Pie, Bar, Line, Page from pyecharts import options as opts from pyecharts.globals import SymbolType# 數(shù)據(jù)對 data_pair = [list(z) for z in zip([i for i in star_num.index], star_num.values.tolist())]# 餅圖 pie1 = Pie(init_opts=opts.InitOpts(width='800px', height='400px')) pie1.add('', data_pair, radius=['35%', '60%']) pie1.set_global_opts(title_opts=opts.TitleOpts(title='豆瓣短評評分占比'), legend_opts=opts.LegendOpts(orient='vertical', pos_top='15%', pos_left='2%')) pie1.set_series_opts(label_opts=opts.LabelOpts(formatter='{b}:ze8trgl8bvbq%')) pie1.render_notebook()評論數(shù)量走勢圖
# 折線圖 line1 = Line(init_opts=opts.InitOpts(width='800px', height='400px')) line1.add_xaxis(comment_date.index.tolist()) line1.add_yaxis('', comment_date.values.tolist(),#areastyle_opts=opts.AreaStyleOpts(opacity=0.5),label_opts=opts.LabelOpts(is_show=False)) line1.set_global_opts(title_opts=opts.TitleOpts(title='評論數(shù)量走勢圖'), # toolbox_opts=opts.ToolboxOpts(),visualmap_opts=opts.VisualMapOpts(max_=140)) line1.set_series_opts(linestyle_opts=opts.LineStyleOpts(width=4)) line1.render_notebook()9月30號上映,9月29號就開始造勢了,30號達(dá)到高峰,但是1號似乎勢頭大減啊。
詞云圖
正面
import jiebadef get_cut_words(content_series):# 讀入停用詞表stop_words = [] with open(r"hit_stopwords.txt", 'r', encoding='utf-8') as f:lines = f.readlines()for line in lines:stop_words.append(line.strip())# 添加關(guān)鍵詞my_words = ['長津湖', '志愿軍'] for i in my_words:jieba.add_word(i) # 自定義停用詞my_stop_words = ['電影',"長津湖","戰(zhàn)爭"] stop_words.extend(my_stop_words) # 分詞word_num = jieba.lcut(content_series.str.cat(sep='。'), cut_all=False)# 條件篩選word_num_selected = [i for i in word_num if i not in stop_words and len(i)>=2]return word_num_selected text1 = get_cut_words(content_series=df[(df.星評=='力薦')|(df.星評=='推薦')]['評論']) text1[:5] ['犧牲', '冰雪', '戰(zhàn)士', '應(yīng)該', '遺忘'] import stylecloud from IPython.display import Image # 用于在jupyter lab中顯示本地圖片# 繪制詞云圖 stylecloud.gen_stylecloud(text=' '.join(text1), max_words=1000,collocations=False,font_path=r'經(jīng)典綜藝體簡.ttf',icon_name='fas fa-thumbs-up',size=360,output_name='豆瓣正向評分詞云圖.png')Image(filename='豆瓣正向評分詞云圖.png')負(fù)面
text2 = get_cut_words(content_series=df[(df.星評=='還行')|(df.星評=='較差')]['評論']) text2[:5] ['有點(diǎn)', '失望', '劇情', '一如既往', '人物'] # 繪制詞云圖 stylecloud.gen_stylecloud(text=' '.join(text2), max_words=1000,collocations=False,font_path=r'經(jīng)典綜藝體簡.ttf',icon_name='fas fa-thumbs-down',size=350,output_name='豆瓣負(fù)向評分詞云圖.png') Image(filename='豆瓣負(fù)向評分詞云圖.png') 👇🏻 源碼+數(shù)據(jù) 可通過掃一掃下方 公眾號(K同學(xué)啊) 回復(fù) 【長津湖】獲取👇🏻總結(jié)
以上是生活随笔為你收集整理的抓取豆瓣上的《长津湖》的热评,我发现了这些的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 统计list中各个元素出现
- 下一篇: 自然语言处理NLP-100例 | 第一篇