《演员请就位2》弹幕的情感倾向分析

发布时间:2024-12-11 01:00

最近小编的娱乐公众号被《演员请就位2》刷屏了,这部综艺的从开播开始导演的热搜话题就一直不断,我们用 Python 分析一下这部综艺的视频弹幕看看大家都在吐糟些什么。

弹幕抓取

在腾讯视频打开最新的第 8 期的上下两期,在 Network 面板中搜索【danmu】,找到弹幕的链接 (https://mfm.video.qq.com/danmu?otype=json....)

分析其中的请求参数可以发现只有 timestamp 参数在以每次 30 的数字递增,盲猜一波应该是视频每 30 秒获取一次弹幕包,其他的请求参数可以保持不变

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

import csv

import requests

import json

import time

from pathlib import Path

def danmu():

    headers = {

        'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.80 Safari/537.36'

    }

    urls = [['https://mfm.video.qq.com/danmu?otype=json&callback=&target_id=6208914107%26vid%3Do0035t7199o&session_key=63761%2C673%2C1606144955&timestamp={}&_=1606144949402', 7478],

            ['https://mfm.video.qq.com/danmu?otype=json&callback=&target_id=6208234802%26vid%3Da00352eyo25&session_key=111028%2C1191%2C1606200649&timestamp={}&_=1606200643186', 8610]]

    for url in urls:

        for page in range(15, url[1], 30):

            u = url[0].format(page)

            html = requests.get(u, headers=headers)

            result = json.loads(html.text, strict=False)

            time.sleep(1)

            danmu_list = []

            for i in result['comments']:

                content = i['content'] 

                danmu_list.append([content])

                print(content)

            csv_write(danmu_list)

def csv_write(tablelist):

    tableheader = ['弹幕内容']

    csv_file = Path('danmu.csv')

    not_file = not csv_file.is_file()

    with open('danmu.csv', 'a', newline='', errors='ignore') as f:

        writer = csv.writer(f)

        if not_file:

            writer.writerow(tableheader)

        for row in tablelist:

            writer.writerow(row)

抓到了 7W+ 的弹幕,文件为 3M 大小

情感分析

抓取到弹幕后,用腾讯云的情感分析 API 分析弹幕的情感倾向是正面的还是负面的亦或是中性情感

参考腾讯云 https://cloud.tencent.com/document/sdk/Python 页面获取 SecretId 和 SecretKey 安全凭证,用 pip install tencentcloud-sdk-python 安装腾讯云的 SDK,遇到证书错误时用 sudo "/Applications/Python 3.6/Install Certificates.command" 命令安装证书

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

from tencentcloud.common import credential

from tencentcloud.common.profile.client_profile import ClientProfile

from tencentcloud.common.profile.http_profile import HttpProfile

from tencentcloud.common.exception.tencent_cloud_sdk_exception import TencentCloudSDKException

from tencentcloud.nlp.v20190408 import nlp_client, models

import ssl

ssl._create_default_https_context=ssl._create_unverified_context

def nlp(text):

    try:

        cred = credential.Credential("xxx", "xxx")

        httpProfile = HttpProfile()

        httpProfile.endpoint = "nlp.tencentcloudapi.com"

        clientProfile = ClientProfile()

        clientProfile.httpProfile = httpProfile

        client = nlp_client.NlpClient(cred, "ap-guangzhou", clientProfile)

        req = models.SentimentAnalysisRequest()

        params = {

            "Text": text,

            "Mode": "3class"

        }

        req.from_json_string(json.dumps(params))

        resp = client.SentimentAnalysis(req)

        sentiment = {'positive': '正面', 'negative': '负面', 'neutral': '中性'}

        return sentiment[resp.Sentiment]

    except TencentCloudSDKException as err:

        print(err)

示例结果

导演好感度

对于频频上热搜的导演们观众对他们的感官是怎么样的,将情感分析结果转换成大家对各个导演评价的百分比,并用 pyecharts 制作成图表

弹幕中对赵薇的负面评价达到 30%,尔冬升、赵薇、郭敬明的正面评价都差不多在 46% 左右,主持人大鹏的正面评价居然是最高的,达到 59%,赵薇的弹幕量最多、陈凯歌弹幕数量是第二个,尔冬升的弹幕量不到 2000

弹幕词云

将弹幕词云化,看看大家都在吐槽写什么

第一眼就看到了的秋裤两个字

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

def ciyun():

    with open('danmu.csv') as f:

        with open('ciyun.txt', 'a') as ciyun_file:

            csv_reader = csv.reader(f)

            for row in csv_reader:

                ciyun_file.write(row[0])

    w = wordcloud.WordCloud(width=1000,

                            height=700,

                            background_color='white',

                            font_path="/System/Library/fonts/PingFang.ttc",

                            collocations=False,

                            stopwords={'的', '了','啊','我','很','是','好','这','都','不'})

    f = open('ciyun.txt', encoding='utf-8')

    txt = f.read()

    txtlist = jieba.lcut(txt)

    result = " ".join(txtlist)

    w.generate(result)

    w.to_file('演员请就位2.png')

总结

腾讯视频弹幕的抓取比较简单,每隔 30 秒发送一次请求获取弹幕包。有兴趣的朋友可以尝试其他视频网站的弹幕抓取,一起努力进步天天向上。

注意:如果你是打算找python高薪工作的话。我建议你多写点真实的企业项目积累经验。不然工作都找不到,当然很多人没进过企业,怎么会存在项目经验呢? 所以你得多找找企业项目实战多练习下撒。如果你很懒不想找,也可以进我的Python交流圈:1156465813。群文件里面有我之前在做开发写过的一些真实企业项目案例。你可以拿去学习,不懂都可以在裙里找我,有空会耐心给你解答下。

以下内容无用,为本篇博客被搜索引擎抓取使用
(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)
python 是干什么的 零基础学 python 要多久 python 为什么叫爬虫
python 爬虫菜鸟教程 python 爬虫万能代码 python 爬虫怎么挣钱
python 基础教程 网络爬虫 python python 爬虫经典例子
python 爬虫
(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)(* ̄︶ ̄)
以上内容无用,为本篇博客被搜索引擎抓取使用

网址:《演员请就位2》弹幕的情感倾向分析 http://c.mxgxt.com/news/view/137627

相关内容

《庆余年2》刚刚开播,评论区的弹幕就飞满了屏幕…
《演员请就位2》之《一个明星的诞生》——奥斯卡电影的浅显解读
类型电影欣赏与作品分析报告
影片分析课程四:人物分析
明星网络舆情话题的演化特征分析
杨丞琳郑州演唱会言论争议舆情研判分析报告
用经济学分析明星现象...
给明星星座分析的那女的(最幸福的情侣明星星座解析)
今日头条上线明星访谈节目《实力派》 李乃文等11位实力派演员分享幕后故事
舆情分析方法有哪些?舆情分析维度有哪些?

随便看看