線上服務器崩潰,線下門店破萬,社交新寵「劇本殺」是如何迅速爆火的?


 


 CDA數據分析師 出品  

作者:Mika、澤龍

數據:真達  

後期:澤龍

【導語】:今天我們來聊聊最近的社交遊戲新寵--劇本殺,Python技術部分請看第三部分公衆號後臺,回覆關鍵字“劇本殺”獲取完整數據。

Show me data,用數據說話

今天我們聊一聊 劇本殺

點擊下方視頻,先睹爲快:

如果問,線下聚會可以玩兒什麼?狼人殺?密室逃脫?

 

nonono,說道現在社交遊戲的新寵,就不得不提到ta——劇本殺

 

劇本殺,最初源於歐美派對遊戲“謀殺之謎”。玩家們需要根據自己拿到的劇本扮演角色,與其他玩家一起共同演繹故事,通過線索推斷、交流,共同找到兇手並揭開故事全貌。

 

與狼人殺相似的是,二者都需要通過推理和表演找出兇手或者是掩飾自己。不同的是,狼人殺只有一個固定的劇情,即狼人在夜晚殺害村民,村民要在白天找出兇手。

 

而劇本殺則有不同的故事,無論從劇本、犯罪、作案到人物劇情都很多樣化,加上線下劇本殺配備的服裝、佈景、道具,甚至玩上一局劇本殺,感覺像是經歷了一場驚險刺激的沉浸式懸疑電影!

 

今天,我們就用數據跟大家盤一盤劇本殺。

01

 被高分綜藝帶火的劇本殺

 

很多小夥伴第一次聽說劇本殺,可能都是因爲《明星大偵探》(下文簡稱《明偵》)。2016年的3月,芒果TV首播明星推理真人秀《明偵》第一季。目前《明偵》共推出了五季,播出後在豆瓣的評分都還不錯,分別是9.3/ 9.1 / 9.1 / 8.6/ 8.5。角色扮演、蒐證、推理基本構成了許多人對劇本殺的第一印象。

隨着《明偵》的大火,劇本殺也逐漸走進大衆的視野。

 

說白了,劇本殺就是一個集邏輯推理和角色扮演於一體的社交遊戲。人生如戲,劇本殺讓玩家通過演繹角色切身體會到不一樣的多彩人生,同時通過邏輯推理讓玩家在遊戲中獲得解謎燒腦的樂趣。

 

03

從線下門店到線上應用 

劇本殺到底有多火?

 

近幾年,劇本殺無論是線下實體店還是線上應用都得到了迅速的發展。

 

根據對美團點評的數據整理,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、數據導入和數據預處理

主要包含以下部分工作:

  1. 重複值處理

  2. 異常值處理

  3. title:提取一級標題和二級標題

  4. price:提取數值

  5. sales_num:提取數值

  6. comment_num:提取數值

  7. 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

   本文出品:CDA數據分析師(ID: cdacdacda)

近期推薦閱讀:
【1】整理了我開始分享學習筆記到現在超過250篇優質文章,涵蓋數據分析、爬蟲、機器學習等方面,別再說不知道該從哪開始,實戰哪裏找了【2】【終篇】Pandas中文官方文檔:基礎用法6(含1-5)
如果你覺得文章不錯的話,分享、收藏、在看、留言666是對老表的最大支持。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章