从NLP视角看电视剧《狂飙》,会有什么发现?

本文利用自然语言处理技术,分析电视剧《狂飙》的豆瓣短评,进行数据预处理、词云图可视化、关键词共现网络和演职员知识图谱构建。通过pyecharts和Gephi展示了数据的可视化结果,揭示了剧评的热点和人物关系。
摘要由CSDN通过智能技术生成


原文请关注:实用自然语言处理

作者:风兮

建议查看原文: https://mp.weixin.qq.com/s/nURcYKN6vRBKjbMXAUbEng


关键词: 爬虫、文本数据预处理、数据分析、可视化、自然语言处理、pyecharts

摘要: 本文主要内容,获取解析豆瓣《狂飙》的短评相关数据和演职员信息,在数据预处理后,进行简单的数据分析和可视化展示。

本文全部代码路径
https://github.com/fengxi177/pnlp2023/tree/main/chapter_1


1、背景

前文《文本数据预处理:可能需要关注这些点》分享了关于文本预处理的理论知识,本文将分享一份示例demo。正好,碰到了热议的电视剧《狂飙》。因此,本文打算从自然语言处理、数据分析和可视化的角度来凑个热闹(原本计划在大结局当天发出来文章,可惜,大结局有一段时间了。拖延了,哈哈哈)。

2、数据获取

既然要做电视剧《狂飙》相关的nlp数据分析,那么就先选定数据目标站。经过一圈搜寻对比,发现还是豆瓣中的评论更为客观,参与群体数量多,见解更丰富专业,哈哈哈。因此,本文将获取https://movie.douban.com/subject/35465232/ 页面中的相关数据。

截止2023年2月28日,豆瓣中电视剧《狂飙》的短评已经22w+(2023年2月6日13w+,评论热度依然很高)。通过翻看短评数据,可以发现不登录状态最多可以获取220条数据,登录后最多可以获取600条数据。一般,可以通过cookie和selenium的方式实现登录,网上有参考教程,自行搜集。

在这里插入图片描述
不过,在不登录状态下,通过URL参数设置分析,发现各参数下都可以获得220条数据。因此,本文只获取不登录状态下的数据。具体的,通过好评、中评和差评参数percent_type设置分别获取220条短评及其相关数据。(特别的,仔细观察URL的参数设置还可以获得更多的数据哦。)


def parse_comments(url):
    """
        解析HTML页面,获得评论及相关数据
    :param url:
    :return:
    """
    html = get_html(url)
    soup_comment = BeautifulSoup(html, 'html.parser')

    # 所有获取的一页数据
    data_page = []

    # 提取评论
    comments_all = soup_comment.findAll("div", "comment-item")
    for comments in comments_all:
        try:
            # 解析评论及相关数据
            comment_info = comments.find("span", "comment-info")  # 评论id相关信息
            comment_vote = comments.find("span", "comment-vote")  # 评论点赞信息
            comment_content = comments.find("span", "short").text.replace("\n", "")  # 评论内容

            # 提取需要的各字段信息
            info_list = comment_info.findAll("span")
            star_rating = info_list[1]

            user_name = comment_info.find("a").text
            video_status = info_list[0].text  # 电视剧观看状态
            comment_score = int(star_rating["class"]
  • 24
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 26
    评论
评论 26
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值