【爬虫+数据清洗+可视化】用Python分析“淄博烧烤”的评论数据

本文介绍了使用Python爬虫抓取并分析「淄博烧烤」评论数据的过程,涉及IP属地的柱形图、评论时间的折线图、点赞数的箱线图、情感分布的饼图和评论内容的词云图分析。数据显示,山东地区的讨论最多,4月26日和5月1日是热点时期,大部分评论点赞数在0-3之间,同时存在正负情感的平衡讨论。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、背景介绍

您好,我是@马哥python说 ,一枚10年程序猿。

自从2023.3月以来,"淄博烧烤"现象持续占领热搜流量,体现了后疫情时代众多网友对人间烟火气的美好向往,本现象级事件存在一定的数据分析实践意义。

我用Python爬取并分析了众多网友的评论,并得出一系列分析结论。

二、爬虫代码

2.1 展示爬取结果

首先,看下部分爬取数据:
爬取结果
爬取字段含:视频链接、评论页码、评论作者、评论时间、IP属地、点赞数、评论内容

2.2 爬虫代码讲解

爬虫部分不作讲解。

三、可视化代码

为了方便看效果,以下代码采用jupyter notebook进行演示。

3.1 读取数据

用read_csv读取刚才爬取的评论数据:

df = pd.read_csv('淄博烧烤_评论数据.csv')

查看前3行及数据形状:

print(df.head(3))
print(df.shape)

3.2 数据清洗

处理空值及重复值:
数据清洗

3.3 可视化

3.3.1 IP属地分析-柱形图

柱形图

结论:从柱形图来看,山东位居首位,说明淄博烧烤也受到本地人大力支持,其次是四川、广东等地讨论热度最高。

3.3.2 评论时间分析-折线图

折线图
结论:从折线图来看,4月26日左右达到讨论热度顶峰,其次是5月1号即五一劳动节假期第一天,大量网友的"进淄赶烤"也制造了新的讨论热度。

3.3.3、点赞数分布-箱线图

由于点赞数大部分为0或个位数情况,个别点赞数到达成千上万,箱线图展示效果不佳,因此,仅提取点赞数<10的数据绘制箱线图。
箱线图
结论:从箱线图来看,去除超过10个点赞数评论数据之后,大部分评论集中在0-3个点赞之间,也就是只有少量评论引起网友的点赞共鸣和认可。

3.3.4 评论内容-情感分布饼图

针对中文评论数据,采用snownlp开发情感判定函数:
情感判定
情感分布饼图,如下:
饼图

结论:从饼图来看,积极和消极分别占比不到一半,说明广大网友在认可淄博烧烤现象的同时,也有大量负面讨论存在,比如讨论烧烤的价格略高、住宿条件欠佳、环境污染等负面话题。

3.3.5 评论内容-词云图

由于评论内容中存在很多"啊"、“的”、"了"等无意义的干扰词,影响高频词的提取,因此,采用哈工大停用词表作为停用词词典,对干扰词进行屏蔽:
停用词
然后,绘制词云图:
词云图
结论:从词云图来看,“淄博”、“烧烤”、“山东”、“好吃”、“城市”、“好”、"物价"等正面词汇字体较大,体现出众多网友对以「淄博烧烤」为代表的后疫情时代人间烟火的美好向往。

四、技术总结

淄博烧烤」案例完整开发流程:

  1. requests爬虫
  2. json解析
  3. pandas保存csv
  4. pandas数据清洗
  5. snownlp情感分析
  6. matplotlib可视化,含:

1)IP属地分析-柱形图Bar
2)评论时间分析-折线图Line
3)点赞数分布-箱线图Boxplot
4)评论内容-情感分布饼图Pie
5)评论内容-词云图WordCloud

五、演示视频

代码演示视频:【爬虫+数据清洗+可视化】Python爬取并分析"淄博烧烤"评论

六、获取源码

完整源码:【爬虫+数据清洗+可视化分析】舆情分析"淄博烧烤"的评论


我是马哥,全网累计粉丝上万,欢迎一起交流python技术。

各平台搜索“马哥python说”:知乎、哔哩哔哩、小红书、新浪微博、博客园。

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

马哥python说

打赏多少不重要,表达认可最重要

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值