3分钟采集评论数据+词云图+情感分析(完整源码下载)

项目场景:

在现代社会,微博作为一种重要的社交媒体平台,承载着大量用户的评论和观点。获取某条微博下的评论信息,在市场调查、舆情监测以及数据分析等领域具有重要价值。然而,手动复制微博评论不仅费时费力,更不容易进行系统化的数据处理。借助Python编写的爬虫程序,可以高效地自动获取这些评论数据,从而提升工作效率。


数据采集

获取ID号

自动提取微博评论:通过微博的微博ID快速抓取指定微博下的所有评论,
无需手动操作。
在这里插入图片描述
在这里插入图片描述

获取cookes

在这里插入图片描述

在这里插入图片描述

运行代码后的结果

在这里插入图片描述

部分代码展示

分页支持:可设置爬取的页数,获取更多评论信息,便于后续分析和处理。

    for weibo_id in v_weibo_ids:
        # 初始化max_id
        max_id = '0'
        max_id_type = '0'
        # 爬取前n页,可任意修改
        for page in range(1, v_max_page + 1):
            wait_seconds = random.uniform(0, 1)  # 等待时长秒
            sleep(wait_seconds)  # 随机等待
            print('开始爬取第{}页'.format(page))
            if page == 1:  # 第一页,没有max_id参数
                url = 'https://m.weibo.cn/comments/hotflow?id={}&mid={}&max_id_type=0'.format(weibo_id, weibo_id)
            else:  # 非第一页,需要max_id参数
                if str(max_id) == '0':  # 如果发现max_id为0,说明没有下一页了,break结束循环
                    print('max_id is 0, break now')
                    break
                url = 'https://m.weibo.cn/comments/hotflow?id={}&mid={}&max_id_type={}&max_id={}'.format(weibo_id,
                                                                                                         weibo_id,
                                                                                                         max_id_type,
                                                                                                         max_id)
                print(url)

4.快速获取分析数据:包括评论内容、评论时间、点赞数等,全面了解用户对
特定微博的反馈。

绘制词云的结果

在这里插入图片描述

词云图部分代码

from wordcloud import WordCloud
import numpy as np
from PIL import Image
import matplotlib.pyplot as plt
import seaborn as sns

# 假设您已经创建了 word_counts 变量用于词频统计

# 加载背景图片
background = np.array(Image.open('./data/mask1.jpg'))

# 创建词云对象
wc = WordCloud(
               background_color='white',
               mode='RGB',
               mask=background,
               max_words=300,
               font_path='./data/msyh.ttc',  # 请注意在路径中使用双斜杠或原始字符串表示
               max_font_size=150,
               relative_scaling=0.6,
               random_state=50,
               scale=2,
               colormap=sns.color_palette("husl", 10, as_cmap=True)
               ).generate_from_frequencies(word_counts)  # 使用 generate_from_frequencies 方法传入词频统计结果

# 绘制词云图
f, ax = plt.subplots(figsize=(12, 8))
plt.imshow(wc, interpolation="bilinear")  # 显示词云
plt.axis('off')  # 关闭 x,y 轴
plt.show()  # 显示词云图
wc.to_file('词云图.jpg')  # 保存词云图

情感分析结果

在这里插入图片描述

情感分析部分代码

import matplotlib.pyplot as plt

# 数据
labels = ['积极', '中性', '消极']
sizes = [proportion_a, proportion_b, proportion_c]
colors = ['lightgreen', 'lightblue', 'lightcoral']

# 创建环形图
plt.figure(figsize=(8, 8))
plt.pie(sizes, labels=labels, colors=colors, autopct='%1.1f%%', startangle=140)
plt.title('情感分类环形图')

# 画一个圆形,制作成环形图
centre_circle = plt.Circle((0, 0), 0.60, fc='white')
fig = plt.gcf()
fig.gca().add_artist(centre_circle)

# 显示图例、比例和标题
plt.axis('equal')

# 保存高清图片
plt.savefig('情感分类环形图.png', dpi=300)  # 保存为高清图片

# 显示图表
plt.show()

获取完整源码

通过以上功能,该项目使得爬取微博评论的过程变得高效和简单,是对数据获
取与分析的一种有效工具。

【资源说明】 基于LSTM的网易云音乐评论分析python源码+使用说明+数据+模型.zip 基于LSTM的网易云音乐评论分析python源码+使用说明+数据+模型.zip 基于LSTM的网易云音乐评论分析python源码+使用说明+数据+模型.zip 数据仓库与数据挖掘课程设计。基于自然语言处理的歌曲评论情感分析,通过爬虫爬取网易云音乐歌曲评论,并通过LSTM模型分析音乐评论的情感分布。 依赖 ``` pip3 install -r requirements.txt ``` 组成 * webspider.py 爬虫 * statistic.py 统计评论情感分布 * wordcloud 词云 运行 训练LSTM模型,使用的数据集在`nlp/data/`目录下: ``` cd nlp python3 lstm.py ``` 爬取网易云歌曲评论: ``` python3 webspider.py ``` 用LSTM评价歌曲评论: ``` python3 statistic.py ``` 对歌曲评论绘制词云: ``` python3 wordcloud.py ``` 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值