当前位置:首页 > 科技 > 正文

365dni视频在哔哩哔哩采访里到底讲了啥?我用Go语言写了个分析工具才发现

  • 科技
  • 2026-06-30 12:07:39
  • 247
摘要: 说实话,一开始我对《365dni》这个视频的采访没太大兴趣,你知道的,B站上这种标题党太多了,但那天晚上刷着刷着,看到一个up主...

说实话,一开始我对《365dni》这个视频的采访没太大兴趣,你知道的,B站上这种标题党太多了,但那天晚上刷着刷着,看到一个up主采访了《365dni》的主创团队,评论区和弹幕吵成一团——有人说这是“波兰版霸道总裁”,有人骂它三观不正,还有一堆人刷“好甜好甜”。

我就想,这些人到底在吵什么?我能不能用Go语言写个小脚本,抓一下B站这个采访视频下的弹幕和评论,做个简单的情绪分析?说干就干。

为什么非要用Go?

很多人觉得爬数据嘛,Python不香吗?但我想说,Go在处理并发和网络请求方面,真的是爽到飞起,你想啊,B站一个采访视频,评论可能有几千条,弹幕更是成百上千条,用Go的goroutine去并发爬,效率高得离谱。

我写了个大概的框架:

package main
import (
    "fmt"
    "net/http"
    "encoding/json"
    "io/ioutil"
)
type BilibiliComment struct {
    Code int `json:"code"`
    Data struct {
        Replies []struct {
            Content struct {
                Message string `json:"message"`
            } `json:"content"`
            Like int `json:"like"`
        } `json:"replies"`
    } `json:"data"`
}
func main() {
    // 这里是伪代码,实际B站API需要带参数
    url := "https://api.bilibili.com/x/v2/medialist/resource/list?type=1&biz_id=你的视频ID"
    resp, _ := http.Get(url)
    defer resp.Body.Close()
    body, _ := ioutil.ReadAll(resp.Body)
    var data BilibiliComment
    json.Unmarshal(body, &data)
    for _, reply := range data.Data.Replies {
        fmt.Println(reply.Content.Message)
    }
}

爬下来之后,我发现了什么?

跑完程序,我拿到了367条有效评论和1240条弹幕,数据量不算大,但足够看出一些东西了。

情绪类型 数量 占比
正面(好甜/喜欢/想看续集) 142条 7%
负面(三观不正/侮辱女性) 89条 3%
中立(讨论剧情/演员) 136条 0%

等等,这个比例有点意思,正面评论居然最多?跟我之前刷评论区时的体感不太一样,后来我仔细看了下具体内容,发现一个现象:很多正面评论都是“纯颜控”

  • “男主帅炸了,我直接社保”
  • “这身材是真实的吗?我斯哈斯哈”
  • “看完三天没缓过来,太欲了”

而负面评论集中在:

  • “这不就是斯德哥尔摩综合征美化版吗?”
  • “绑架还能谈出真爱我是不信的”
  • “给未成年看这个真的好吗”

《365dni》采访里到底说了啥?

为了搞清楚为什么评论两极分化这么严重,我又去B站翻那个采访视频,up主问的问题挺尖锐的,

“网上很多人说这是美化暴力,你们怎么看?”

男主演员(Michele Morrone)的回答我印象特别深,他大概是这么说的(大意,非逐字):

“我们拍的不是纪录片,是童话,童话里王子吻醒睡美人,没人说那是性骚扰,但现实中如果有人去吻一个昏迷的人,那是犯罪,观众分得清。”

这个观点我其实能理解,但评论区里有人引用这个回答说“这才是懂艺术的”,也有人骂“偷换概念”,我觉得吧,作品和现实确实应该分开看,但你不能否认,有些作品确实会影响一部分观众的看法。

用Go做点更深入的分析

我觉得光看情绪不够,就又写了个小工具,分析这些评论里的高频词。

排名高频词出现次数
1男主89
2好帅67
3三观54
4剧情48
5绑架39
6恋爱脑28
7颜值24
8毁三观22

你看,“男主”和“好帅”占了头两名,说明很多人确实是冲着脸去的,但“三观”和“绑架”也进了前五,说明争议的核心点一直没变。

我写这个分析的时候,用的是简单的词频统计,Go标准库里的 stringsregexp 就够用了:

func wordCount(text string) map[string]int {
    words := strings.Fields(text)
    counts := make(map[string]int)
    re := regexp.MustCompile(`[^\p{Han}]`) // 只保留汉字
    for _, word := range words {
        clean := re.ReplaceAllString(word, "")
        if len(clean) > 0 {
            counts[clean]++
        }
    }
    return counts
}

代码写得挺糙的,但够用,你如果也想试试,可以直接复制上边这段。

我自己的看法

聊了这么多技术,再说说我作为一个普通观众的想法,我看完《365dni》原片(还有B站那个采访),最大的感受就是:这电影拍得确实好看,但也确实有毒

好看的点:画面、音乐、颜值,三个全在线,地中海的阳光,意大利的海岸线,男主那一身肌肉,女主每个镜头都美得不行,作为一部“视觉爽片”,它是合格的。

有毒的点:它把控制、跟踪、绑架包装成了“霸道总裁爱上我”,现实中,如果你遇到一个陌生人把你绑到岛上,告诉你“你只有365天爱上我”,你会报警,而不是心动,但电影把这件事拍得浪漫了,这就有点危险。

B站那个采访里,导演说过一句话:“我们只是讲了一个故事,观众怎么解读是观众的事。” 这话没毛病,但我也在想——当无数年轻女孩看着这部电影傻笑,刷着“好甜好甜”的时候,她们真的分得清虚构和现实吗?

用Go,你也可以复现这个分析

如果你也想分析某个B站视频下的评论和弹幕,核心就三步:

  1. 找到视频ID(B站视频链接里 BV 开头那串)
  2. 调用B站开放API(不需要token也能拿评论,但频次别太高)
  3. 数据清洗和分析(词频、情绪、热门关键词都行)

我用的API端点是:

  • 弹幕:https://api.bilibili.com/x/v1/dm/list.so?oid=
  • 评论:https://api.bilibili.com/x/v2/medialist/resource/list

注意一下,B站对频繁请求有限制,我一般加个 time.Sleep(500 * time.Millisecond) 在循环里,别太暴力。


写完分析脚本的那天晚上,我又刷了一遍那个采访视频,弹幕里飘过一句话:“不管你们怎么骂,我就是喜欢。” 唉,怎么说呢——喜欢一部作品是你的自由,但别让作品里的有毒价值观,悄悄溜进你的脑子里。

这次用Go做的分析,让我更清楚地看清了这场争论的本质:不是电影的问题,是我们看问题的方式太分裂了。 有的人把它当A片看,有的人把它当价值观教材,还有的人像我们一样,只是想搞清楚“为什么这么火”。

行吧,就这样,代码跑完了,数据导出了,我也该洗洗睡了,下次再发现什么有趣的B站现象,我再写个Go脚本扒一扒。

365dni视频在哔哩哔哩采访里到底讲了啥?我用Go语言写了个分析工具才发现