抓取豆瓣上的《长津湖》的热评,我发现了这些
家电修理 2023-07-16 19:17www.caominkang.com电器维修
前言
- 运行环境python3
- 作者K同学啊
- 精品专栏《Matplotlib教程》
- 刺 优秀专栏《Python入门100题》
- 推荐专栏《小白入门深度学习》
- 磊 精选专栏《深度学习100例》
大家,我是K同学啊!
近期一部《长津湖》火爆朋友圈,被各种安利,咱一个人也不想跑电影院去霸个情侣座,就老老实实分析一下影评,看看大家的“观后感”是吧~
定位目标网页
https://movie.douban./subject/25845392/ments
上爬虫,抓取下面四个字段
然后使用pandas对导入数据并做简单的处理
import pandas as pd import os file_path = os.path.join("douban.csv") #读取test.csv文件中的A、B列,若不设置usecols参数,默认读取全部数据。 df = pd.read_csv(open(file_path,'r',encoding='utf-8'), names=["用户名","星评","评论时间","评论"]) df.head()
star_num = df.星评.value_counts() star_num = star_num.sort_index() star_num
力荐 112 推荐 35 该用户未星评 2 较差 14 还行 37 Name: 星评, dtype: int64豆瓣短评评分占比
from pyecharts.charts import Pie, Bar, Line, Page from pyecharts import options as opts from pyecharts.globals import SymbolType # 数据对 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(idth='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_='15%', pos_left='2%') ) pie1.set_series_opts(label_opts=opts.LabelOpts(formatter='{b}:{d}%')) pie1.render_notebook()评论数量走势图
# 折线图 line1 = Line(init_opts=opts.InitOpts(idth='800px', height='400px')) line1.add_xaxis(ment_date.index.tolist()) line1.add_yaxis('', ment_date.values.tolist(), #areastyle_opts=opts.AreaStyleOpts(opacity=0.5), label_opts=opts.LabelOpts(is_sho=False)) line1.set_global_opts(title_opts=opts.TitleOpts(title='评论数量走势图'), # toolbox_opts=opts.ToolboxOpts(), visualmap_opts=opts.VisualMapOpts(max_=140)) line1.set_series_opts(linestyle_opts=opts.LineStyleOpts(idth=4)) line1.render_notebook()
9月30号上映,9月29号就开始造势了,30号达到高峰,1号似乎势头大减啊。
词云图 正面import jieba def get_cut_ords(content_series): # 读入停用词表 s_ords = [] ith open(r"hit_sords.txt", 'r', encoding='utf-8') as f: lines = f.readlines() for line in lines: s_ords.append(line.strip()) # 添加关键词 my_ords = ['长津湖', '志愿军'] for i in my_ords: jieba.add_ord(i) # 自定义停用词 my_s_ords = ['电影',"长津湖","战争"] s_ords.extend(my_s_ords) # 分词 ord_num = jieba.lcut(content_series.str.cat(sep='。'), cut_all=False) # 条件筛选 ord_num_selected = [i for i in ord_num if i not in s_ords and len(i)>=2] return ord_num_selected
text1 = get_cut_ords(content_series=df[(df.星评=='力荐')|(df.星评=='推荐')]['评论']) text1[:5]
['牺牲', '冰雪', '战士', '应该', '遗忘']
import stylecloud from IPython.display import Image # 用于在jupyter lab中显示本地图片 # 绘制词云图 stylecloud.gen_stylecloud(text=' '.join(text1), max_ords=1000, collocations=False, font_path=r'经典综艺体简.ttf', icon_name='fas fa-thumbs-up', size=360, output_name='豆瓣正向评分词云图.png') Image(filename='豆瓣正向评分词云图.png')负面
text2 = get_cut_ords(content_series=df[(df.星评=='还行')|(df.星评=='较差')]['评论']) text2[:5]
['有点', '失望', '剧情', '一如既往', '人物']
# 绘制词云图 stylecloud.gen_stylecloud(text=' '.join(text2), max_ords=1000, collocations=False, font_path=r'经典综艺体简.ttf', icon_name='fas fa-thumbs-don', size=350, output_name='豆瓣负向评分词云图.png') Image(filename='豆瓣负向评分词云图.png')
关注下方公众号(K同学啊)回复长津湖,获取源码
空调维修
- 温岭冰箱全国统一服务热线-全国统一人工【7X2
- 荆州速热热水器维修(荆州热水器维修)
- 昆山热水器故障码5ER-昆山热水器故障码26
- 温岭洗衣机24小时服务电话—(7X24小时)登记报
- 统帅热水器售后维修服务电话—— (7X24小时)登
- 阳江中央空调统一电话热线-阳江空调官方售后电
- 乌鲁木齐阳春燃气灶厂家服务热线
- 珠海许昌集成灶售后服务电话-全国统一人工【
- 乌鲁木齐中央空调维修服务专线-乌鲁木齐中央空
- 新沂热水器故障电话码维修-新沂热水器常见故障
- 诸城壁挂炉24小时服务热线电话
- 靖江空调24小时服务电话-——售后维修中心电话
- 空调室外滴水管维修(空调室外排水管维修)
- 九江壁挂炉400全国服务电话-(7X24小时)登记报修
- 热水器故障码f.22怎么解决-热水器f0故障解决方法
- 营口热水器售后维修服务电话—— 全国统一人工