【导语】:今天我们来聊聊最近的社交游戏新宠--剧本杀,Python技术部分请看第三部分。
Show me data,用数据说话
今天我们聊一聊 剧本杀
如果问,线下聚会可以玩儿什么?狼人杀?密室逃脱?
nonono,说道现在社交游戏的新宠,就不得不提到ta——剧本杀。
剧本杀,最初源于欧美派对游戏“谋杀之谜”。玩家们需要根据自己拿到的剧本扮演角色,与其他玩家一起共同演绎故事,通过线索推断、交流,共同找到凶手并揭开故事全貌。
与狼人杀相似的是,二者都需要通过推理和表演找出凶手或者是掩饰自己。不同的是,狼人杀只有一个固定的剧情,即狼人在夜晚杀害村民,村民要在白天找出凶手。
而剧本杀则有不同的故事,无论从剧本、犯罪、作案到人物剧情都很多样化,加上线下剧本杀配备的服装、布景、道具,甚至玩上一局剧本杀,感觉像是经历了一场惊险刺激的沉浸式悬疑电影!
今天,我们就用数据跟大家盘一盘剧本杀。
01被高分综艺带火的剧本杀
很多小伙伴第一次听说剧本杀,可能都是因为《明星大侦探》(下文简称《明侦》)。2016年的3月,芒果TV首播明星推理真人秀《明侦》第一季。目前《明侦》共推出了五季,播出后在豆瓣的评分都还不错,分别是9.3/ 9.1 / 9.1 / 8.6/ 8.5.角色扮演、搜证、推理基本构成了许多人对剧本杀的第一印象。
随着《明侦》的大火,剧本杀也逐渐走进大众的视野。
说白了,剧本杀就是一个集逻辑推理和角色扮演于一体的社交游戏。人生如戏,剧本杀让玩家通过演绎角色切身体会到不一样的多彩人生,同时通过逻辑推理让玩家在游戏中获得解谜烧脑的乐趣。
02从线下门店到线上应用 剧本杀到底有多火?
近几年,剧本杀无论是线下实体店还是线上应用都得到了迅速的发展。
根据对美团点评的数据整理,2017年年初,剧本杀门店还仅有几十家,2018年年初增加到几百家,截至2019年12月,全国的剧本杀店已经由1月初的2400家飙升到12000家,一年之间开出一万家门店。
在今年2020年初,因受疫情影响,无法出门活动的人们迅速将目光聚集到了线上。大年初一,正处于疫情初期,就有用户反应《我是谜》APP游戏卡顿,同时微博热搜榜剧本杀APP《我是谜》也登榜,大量网友均反映系统崩溃。
随后《我是谜》创始人林世豪连忙发微博表示,对激增的访问人数感到惊讶,并表示马上叫程序员来修复。
说道剧本杀的核心,当然是剧本啦。故事写得好不好,情节和逻辑设置是否吸引人都是玩家尤其关注的点。那么哪些剧本最受追捧,剧本都在什么价钱呢?下面我们带大家分析下淘宝店铺的数据。
03用Python分析淘宝店铺剧本杀数据
作为桌游当中的一种,剧本杀在淘宝的销量数据如何呢?
我们用Python爬取了淘宝上的桌游剧本杀的关键词数据,下面一起具体看看:
桌游销量TOP10淘宝店铺
首先,我们看看那些桌游店铺最热门。
其中这家九卓家居专营店销量最高,其次位居二三的分别是游卡桌游昆高专卖店和艾雅玩具店。不过要注意的是,比起普通玩家,这些店铺买东西的主力肯定还是各大桌游店。
桌游店铺地区排名TOP10
这方面可以看到,桌游方面的淘宝店铺主要还是位于一线城市的。其中,上海、广东为第一第二位。浙江名列第三,北京位居第四。
桌游卡牌的价格区间
什么价位的桌游卡牌销量最高呢?
通过分析发现,显然50元以下的桌游销量最高,销售额占比高达42.72%。其次是50-100元的,销售额占比22.47%。然后比较贵的100-200的桌游销售额占比17.05%。
其中最主要的原因就是便宜,现在的50块钱可能连一顿下午茶钱都不够,二是因为50块钱的桌游大多数以纸牌为主,小巧便利,方便携带,出门消磨时光必备物件,很适合我们的生活方式,想要玩大型桌游,还是踏实去桌游店吧,规则看不懂还有法官。
剧本杀店铺销量数据
说完桌游店铺的数据,那么专门出售剧本杀相关产品的店铺数据如何呢?我们挑选了一家最火爆的剧本杀店铺,进行了分析。下面看到具体分析步骤:
我们使用Python获取了淘宝网上GoDan正版剧本杀商城商品和热评的数据进行了数据分析,地址如下:
https://shop387156301.taobao.com/category-1515015677.htm
实做过程分为:
数据获取
数据预处理
数据分析与可视化
1、数据获取
代码
# 导入所需包 import pandas as pd import time from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.support import expected_conditions as EC # 登录淘宝 def login_taobao_acount(): # 登录URL login_url = 'https://login.taobao.com/member/login.jhtml' # 打开网页 browser.get(login_url) # 支付宝登录 log = wait.until( EC.element_to_be_clickable((By.CSS_SELECTOR, '#login-form > div.login-blocks.sns-login-links > a.alipay-login')) ) log.click() # 解析一页 def parse_one_page(): # 保存信息 title = [] price = [] sales_num = [] comment_num = [] # 获取内容 contents = browser.find_elements_by_xpath('//*[@id="J_ShopSearchResult"]//div[@class="item3line1"]//dl[contains(@class, "item")]') for content in contents: # 获取标题 title.append(content.find_element_by_xpath('.//dd[@class="detail"]/a').text) # 获取价格 price.append(content.find_element_by_xpath('.//dd[@class="detail"]//div[@class="cprice-area"]').text) # 获取销量 sales_num.append(content.find_element_by_xpath('.//div[@class="sale-area"]').text) # 获取评论 comment_num.append(content.find_element_by_xpath('.//h4').text) # 保存数据 df_one = pd.DataFrame({ 'title': title, 'price': price, 'sales_num': sales_num, 'comment_num': comment_num }) return df_one # 获取所有页 def get_all_page(): df_all = pd.DataFrame() # 初始URL start_url = 'https://shop387156301.taobao.com/category-1515015677.htm' # 获取URL browser.get(start_url) # 休眠 time.sleep(3) for i in range(7): # 共6页 # 打印进度 print('正在获取第{}页'.format(i+1)) # 运行函数 df_one = parse_one_page() # 循环追加 df_all = df_all.append(df_one, ignore_index=True) # 判断 if i == 6: break else: # 点击翻页 click_button = browser.find_element_by_css_selector('#J_ShopSearchResult > div > div.shop-hesper-bd.grid > div.pagination > a.J_SearchAsync.next') click_button.click() # 休眠3秒 time.sleep(3) return df_all if __name__ == '__main__': # 实例化 browser = webdriver.Chrome() wait = WebDriverWait(browser, 10) # 先登录 login_taobao_acount() df = get_all_page()
我们获取到的数据格式如下,共有7页146条数据:
df.head()
2、数据导入和数据预处理
主要包含以下部分工作:
title:提取一级标题和二级标题
price:提取数值
sales_num:提取数值
comment_num:提取数值
sales_amount:price * sales_num
# 导入包 import numpy as np import pandas as pd import re # 读入数据 df = pd.read_excel('../data/淘宝剧本商城数据.xlsx') # 去重 df = df.drop_duplicates() # 异常替换-预售 df['title'] = df.title.str.replace(r'【预售】', '') # 标题 df['title_1'] = df.title.str.extract(r'【(.*?)】') df['title_2'] = df.title.str.extract(r'【.*?】(.*)') df['title_2'] = df.title_2.str.replace(re.compile(r'【.*?】'), '') # strip df['title_1'] = df.title_1.str.strip() df['title_2'] = df.title_2.str.strip() # 价格 df['price'] = df.price.str.extract(r'(\d+)').astype('int') # 销量 df['sales_num'] = df.sales_num.str.extract(r'(\d+)').astype('int') # 评论数量 df['comment_num'] = df.comment_num.str.extract(r'(\d+)').astype('int') # 计算销售额 df['sales_amount'] = df['price'] * df['sales_num'] # 删除title df = df.drop(['title'], axis=1) df.head()
3、数据探索和可视化
from pyecharts.charts import Bar, Pie, Page from pyecharts import options as opts from pyecharts.globals import SymbolType, WarningType WarningType.ShowWarning = False
GoDan商城价格分布
bins = [0,200,500,1000,4900] bins_label = ['0-200', '200-500', '500-1000', '1000以上'] price_num = pd.cut(df.price, bins=bins, labels=bins_label) price_num = price_num.value_counts().sort_index() price_num
# 产生数据对 data_pair = [list(z) for z in zip(price_num.index.tolist(), price_num.values.tolist())] # 绘制饼图 # {a}(系列名称),{b}(数据项名称),{c}(数值), {d}(百分比) pie1 = Pie(init_opts=opts.InitOpts(width='1350px', height='750px')) pie1.add('', data_pair=data_pair, radius=['35%', '60%']) pie1.set_global_opts(title_opts=opts.TitleOpts(title='GoDan商城商品价格分布'), legend_opts=opts.LegendOpts(orient='vertical', pos_top='15%', pos_left='2%')) pie1.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{d}%")) pie1.set_colors(['#2C69B0', '#EA6B73', '#AC613C', '#E9C39B']) pie1.render()![]()
首先看到价格区间。对比桌游50元以下的价格商品最热门,GoDan的剧本杀就很不一样了,而是价格在200 - 500之间产品最多,占比77.87%。毕竟一个剧本大概需要过五万字的文学创作,这个价钱也对得起我们的内容创作者。
销量TOP10剧本
# 销量top10 sales_top10 = df.groupby('title_1')['sales_num'].sum().sort_values(ascending=False)[:10] sales_top10 = sales_top10.sort_values() sales_top10
title_1 朝别梨怨 61 孤城 62 爱幼妇产医院 64 古镜奇谈-月染长安 66 杀人回忆 76 愿我如星君如月 81 恶渊百物语 92 古木吟 95 窥镜 96 情辞白帝 134 Name: sales_num, dtype: int32
# 条形图 bar1 = Bar(init_opts=opts.InitOpts(width='1350px', height='750px')) bar1.add_xaxis(sales_top10.index.to_list()) bar1.add_yaxis('', sales_top10.values.tolist()) bar1.set_global_opts(title_opts=opts.TitleOpts(title='GoDan商城销量Top10剧本'), visualmap_opts=opts.VisualMapOpts(max_=134)) bar1.set_series_opts(label_opts=opts.LabelOpts(position='right')) bar1.reversal_axis() bar1.render()
最后就是万众瞩目的top10的剧本排名,前三名「情辞百帝」、「窥镜」、「古木吟」C君都还没有玩过,可能是孤落寡闻了,但是「杀人回忆」这个本很多家桌游店都推过,玩起来非常不错,有机会可以统统尝试下。
04玩了几百场剧本杀,如何精准发现当中套路
最近C君也沉迷于剧本杀,在玩了很多很多很多剧本后,发现一个惊人的事实,关于一个不用思考就可以找出凶手的逻辑,分享给你,保准你每次都是MVP。
当你玩了上百次剧本杀以后,你会发现当中的犯案动机真的是多种多样的,有时候还让人特别意想不到。所以想但从杀人动机、证据推理上推断出凶手那根本不可能,而且现在许多新出剧本写的越来越离谱,那该怎么玩儿呢?
所以古人有云,拨开表明看本质,当中的核心点就是“存在感”,而且是人越少越准。其实这和狼人杀中的珉人是一个道理,都是玄学。
但是剧本杀是游戏,是短时间信息密集游戏,所以每一个出场人物都有他纯在的道理。举个例子,去电影院看《唐人街探案》,人人都是福尔摩斯,但在生活中秒变脑残党,为什么?
其中很重要的就是圈层限定,凶手肯定是常出现的几个人之中,去掉主角、去掉酱油、可能只有一个人让你选了,剧本杀也一样,每个人都有必要的任务,你把每个人任务弄清楚,基本可以得出凶手是谁,这可比去盘逻辑简单多了。
有人会问,这不就失去了剧本杀的原本的乐趣了么?那就错了,其实玩剧本杀的人都知道,能投对凶手的剧本都是好剧本,投错了的剧本都是垃圾,最后结果还是很重要的。
结语
最后想说的是,剧本杀真的可以发散人的思维,因为这里有各种稀奇古怪的剧情,比电视剧可有意思多了,喜欢演戏,喜欢开脑洞的朋友们一定要去尝试下哦。
参考文献
剧本杀,能「杀」出一条财路吗?| 36氪新风向
https://mp.weixin.qq.com/s/evCJdX6JMc3szImf8hwwQw
《天天向上》告诉你,剧本杀有多火
https://mp.weixin.qq.com/s/e4Y6r5pc1qJ2t5pOpfF3Zg
剧本杀是什么?
https://www.douban.com/note/693384771/
线上井喷,社交新宠剧本杀真的是门好生意吗?
https://www.shangyexinzhi.com/article/517685.html
数据分析咨询请扫描二维码
若不方便扫码,搜微信号:CDAshujufenxi
在数字化浪潮中,数据驱动决策已成为企业发展的核心竞争力,数据分析人才的需求持续飙升。世界经济论坛发布的《未来就业报告》, ...
2025-03-28你有没有遇到过这样的情况?流量进来了,转化率却不高,辛辛苦苦拉来的用户,最后大部分都悄无声息地离开了,这时候漏斗分析就非 ...
2025-03-27TensorFlow Datasets(TFDS)是一个用于下载、管理和预处理机器学习数据集的库。它提供了易于使用的API,允许用户从现有集合中 ...
2025-03-26"不谋全局者,不足谋一域。"在数据驱动的商业时代,战略级数据分析能力已成为职场核心竞争力。《CDA二级教材:商业策略数据分析 ...
2025-03-26当你在某宝刷到【猜你喜欢】时,当抖音精准推来你的梦中情猫时,当美团外卖弹窗刚好是你想吃的火锅店…… 恭喜你,你正在被用户 ...
2025-03-26当面试官问起随机森林时,他到底在考察什么? ""请解释随机森林的原理""——这是数据分析岗位面试中的经典问题。但你可能不知道 ...
2025-03-25在数字化浪潮席卷的当下,数据俨然成为企业的命脉,贯穿于业务运作的各个环节。从线上到线下,从平台的交易数据,到门店的运营 ...
2025-03-25在互联网和移动应用领域,DAU(日活跃用户数)是一个耳熟能详的指标。无论是产品经理、运营,还是数据分析师,DAU都是衡量产品 ...
2025-03-24ABtest做的好,产品优化效果差不了!可见ABtest在评估优化策略的效果方面地位还是很高的,那么如何在业务中应用ABtest? 结合企业 ...
2025-03-21在企业数据分析中,指标体系是至关重要的工具。不仅帮助企业统一数据标准、提升数据质量,还能为业务决策提供有力支持。本文将围 ...
2025-03-20解锁数据分析师高薪密码,CDA 脱产就业班助你逆袭! 在数字化浪潮中,数据驱动决策已成为企业发展的核心竞争力,数据分析人才的 ...
2025-03-19在 MySQL 数据库中,查询一张表但是不包含某个字段可以通过以下两种方法实现:使用 SELECT 子句以明确指定想要的字段,或者使 ...
2025-03-17在当今数字化时代,数据成为企业发展的关键驱动力,而用户画像作为数据分析的重要成果,改变了企业理解用户、开展业务的方式。无 ...
2025-03-172025年是智能体(AI Agent)的元年,大模型和智能体的发展比较迅猛。感觉年初的deepseek刚火没多久,这几天Manus又成为媒体头条 ...
2025-03-14以下的文章内容来源于柯家媛老师的专栏,如果您想阅读专栏《小白必备的数据思维课》,点击下方链接 https://edu.cda.cn/goods/sh ...
2025-03-13以下的文章内容来源于刘静老师的专栏,如果您想阅读专栏《10大业务分析模型突破业务瓶颈》,点击下方链接 https://edu.cda.cn/go ...
2025-03-12以下的文章内容来源于柯家媛老师的专栏,如果您想阅读专栏《小白必备的数据思维课》,点击下方链接 https://edu.cda.cn/goods/sh ...
2025-03-11随着数字化转型的加速,企业积累了海量数据,如何从这些数据中挖掘有价值的信息,成为企业提升竞争力的关键。CDA认证考试体系应 ...
2025-03-10推荐学习书籍 《CDA一级教材》在线电子版正式上线CDA网校,为你提供系统、实用、前沿的学习资源,助你轻松迈入数据分析的大门! ...
2025-03-07在数据驱动决策的时代,掌握多样的数据分析方法,就如同拥有了开启宝藏的多把钥匙,能帮助我们从海量数据中挖掘出关键信息,本 ...
2025-03-06