365dni视频在哔哩哔哩采访里到底讲了啥?我用Go语言写了个分析工具才发现
- 科技
- 2026-06-30 12:07:39
- 247
说实话,一开始我对《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标准库里的 strings 和 regexp 就够用了:
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站视频下的评论和弹幕,核心就三步:
- 找到视频ID(B站视频链接里
BV开头那串) - 调用B站开放API(不需要token也能拿评论,但频次别太高)
- 数据清洗和分析(词频、情绪、热门关键词都行)
我用的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脚本扒一扒。

上一篇:围棋365,解锁智慧之舞的钥匙