【导语】:今天我们来聊聊最近的社交游戏新宠--剧本杀,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
数据分析咨询请扫描二维码
在准备数据分析师面试时,掌握高频考题及其解答是应对面试的关键。为了帮助大家轻松上岸,以下是10个高频考题及其详细解析,外加 ...
2024-12-20互联网数据分析师是一个热门且综合性的职业,他们通过数据挖掘和分析,为企业的业务决策和运营优化提供强有力的支持。尤其在如今 ...
2024-12-20在现代商业环境中,数据分析师是不可或缺的角色。他们的工作不仅仅是对数据进行深入分析,更是协助企业从复杂的数据信息中提炼出 ...
2024-12-20随着大数据时代的到来,数据驱动的决策方式开始受到越来越多企业的青睐。近年来,数据分析在人力资源管理中正在扮演着至关重要的 ...
2024-12-20在数据分析的世界里,表面上的技术操作只是“入门票”,而真正的高手则需要打破一些“看不见的墙”。这些“隐形天花板”限制了数 ...
2024-12-19在数据分析领域,尽管行业前景广阔、岗位需求旺盛,但实际的工作难度却远超很多人的想象。很多新手初入数据分析岗位时,常常被各 ...
2024-12-19入门数据分析,许多人都会感到“难”,但这“难”究竟难在哪儿?对于新手而言,往往不是技术不行,而是思维方式、业务理解和实践 ...
2024-12-19在如今的行业动荡背景下,数据分析师的职业前景虽然面临一些挑战,但也充满了许多新的机会。随着技术的不断发展和多领域需求的提 ...
2024-12-19在信息爆炸的时代,数据分析师如同探险家,在浩瀚的数据海洋中寻觅有价值的宝藏。这不仅需要技术上的过硬实力,还需要一种艺术家 ...
2024-12-19在当今信息化社会,大数据已成为各行各业不可或缺的宝贵资源。大数据专业应运而生,旨在培养具备扎实理论基础和实践能力,能够应 ...
2024-12-19阿里P8、P9失业都找不到工作?是我们孤陋寡闻还是世界真的已经“癫”成这样了? 案例一:本硕都是 985,所学的专业也是当红专业 ...
2024-12-19CDA持证人Louis CDA持证人基本情况 我大学是在一个二线城市的一所普通二本院校读的,专业是旅游管理,非计算机非统计学。毕业之 ...
2024-12-18最近,知乎上有个很火的话题:“一个人为何会陷入社会底层”? 有人说,这个世界上只有一个分水岭,就是“羊水”;还有人说,一 ...
2024-12-18在这个数据驱动的时代,数据分析师的技能需求快速增长。掌握适当的编程语言不仅能增强分析能力,还能帮助分析师从海量数据中提取 ...
2024-12-17在当今信息爆炸的时代,数据分析已经成为许多行业中不可或缺的一部分。想要在这个领域脱颖而出,除了热情和毅力外,你还需要掌握 ...
2024-12-17数据分析,是一项通过科学方法处理数据以获取洞察并支持决策的艺术。无论是在商业环境中提升业绩,还是在科研领域推动创新,数据 ...
2024-12-17在数据分析领域,图表是我们表达数据故事的重要工具。它们不仅让数据变得更加直观,也帮助我们更好地理解数据中的趋势和模式。相 ...
2024-12-16在当今社会,我们身处着一个飞速发展、变化迅猛的时代。不同行业在科技进步、市场需求和政策支持的推动下蓬勃发展,呈现出令人瞩 ...
2024-12-16在现代商业世界中,数据分析师扮演着至关重要的角色。他们通过解析海量数据,为企业战略决策提供有力支持。要有效完成这项任务, ...
2024-12-16在当今数据爆炸的时代,数据分析师是组织中不可或缺的导航者。他们通过从大量数据中提取可操作的洞察力,帮助企业在竞争激烈的市 ...
2024-12-16