亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

2018電影票房分析-誰才是票房之王

stormjun / 702人閱讀

摘要:另外由于豆瓣上一些電影評分數(shù)量太少而不顯示,所以這里的電影數(shù)量會和票房數(shù)量有所差異。月度票房將類型片的票房按月劃分,得到了這張圖。

去年末的時候,我招收了新的“ 實訓生 ”。本文是其中一位 @齊大圣 同學在實訓兩個月時完成的項目案例。(碼上行動群里同學應(yīng)該都看過這個名字,現(xiàn)在也是助教之一。)項目最初的想法是, 從互聯(lián)網(wǎng)上的公開信息中采集2018年在國內(nèi)上映電影的票房、評分、類型、演員等信息,然后做一些數(shù)據(jù)分析和可視化展示 。這樣一個項目, 除了需要對 python 基本語法和數(shù)據(jù)結(jié)構(gòu)的掌握之外,還涉及到網(wǎng)頁分析、爬蟲、文本解析、數(shù)據(jù)庫存儲、數(shù)據(jù)處理、數(shù)據(jù)分析、數(shù)據(jù)可視化,并且需要對一個完整項目有整體的模塊設(shè)計 ,對于編程學習者來說是從入門到進階的一個很好案例。經(jīng)常跟我說學了基礎(chǔ)不知道做什么項目的同學們,別光顧著看熱鬧,回頭自己也動手做一做。 代碼已上傳,獲取見文末。

項目之初,我們的想法主要是 對去年國內(nèi)上映電影的票房、評分進行一下排行 ,然后按不同類型對比下, 什么片更受歡迎,什么片更賺錢 。后來開發(fā)過程中,正值《流浪地球》大賣,吳京成為首位國內(nèi)票房破百億的演員。于是我們突發(fā)奇想,來看一看誰是去年單年累積票房最高的演員。是《我不是藥神》的徐崢,還是《唐人街探案2》的王寶強(他倆還合演了《一出好戲》),又或者是《紅海行動》中的某位?

在往下看之前,你也可以大膽猜一下。但我打賭你是猜不到的。如果沒猜對,記得幫忙轉(zhuǎn)發(fā)點贊。

基本數(shù)據(jù)情況:

票房數(shù)據(jù)來自 中國票房網(wǎng) (http://cbooo.cn)

評分數(shù)據(jù)來自 豆瓣電影 (http://movie.douban.com)、 貓眼 (http://maoyan.com)、 時光網(wǎng) (http://mtime.com)、 IMDB (http://imdb.com)

導演、演員信息來自 豆瓣電影

522 部電影, 4723 位影人

由于從幾個不同網(wǎng)站抓取數(shù)據(jù),有些名稱會不一致,或者出現(xiàn)部分數(shù)據(jù)缺失的情況。因此這個數(shù)據(jù)并不是絕對完整的,但不影響整體結(jié)論

影片所屬類型沒有嚴格定義,且會有多個類型。實際選取方式我們在下面會有具體說明。

電影總排行:

這個排名大家都不陌生,沒啥好多說的,好玩的在后面。

票房分布

我們將所有電影按評分和票房做成散點分布圖,得到上述圖片。此圖是動態(tài)可交互的,這里我截幾張有代表性的(點擊圖片后可放大):

依次是 動作、喜劇、劇情、動畫 四類電影分布。粗略一看, 動作片是比較受市場歡迎的 ,畢竟選擇去觀看大屏幕,很大程度也是為了享受特效和視聽感受。喜劇和劇情也還不錯,但高票房的動畫片就很少了。

類型片

這張圖是不同影片類型的數(shù)量和評分情況。 劇情、喜劇、動作是三大主流類型

從評分上看,動畫片最高 ,我很早就發(fā)現(xiàn)了這個現(xiàn)象,我覺得可能是因為動畫片類型明確,會觀看并評價的人本身對其接受度高,而不喜歡的人壓根兒就不會去看。劇情片整體評分也不錯,可見能把一個故事說好,觀眾就挺滿意了。 愛情片、驚悚片則是一向是爛片的高發(fā)地帶 。

說明下:這里的類型是重復計算的,一部片會既是動作片,又是喜劇片。另外由于豆瓣上一些電影評分數(shù)量太少而不顯示,所以這里的電影數(shù)量會和票房數(shù)量有所差異。

從票房上看, 動作片不管是總量還是平均,都很強勢 。值得注意的是科幻片,雖然一般認為這是個小眾類型,但與廣義科幻沾邊的影片平均票房卻不低(這里面Marvel貢獻了不少),今年的小破球更是創(chuàng)造了新的紀錄。戰(zhàn)爭片則是被《紅海行動》一片之力拉高了平均值。

月度票房

將類型片的票房按月劃分,得到了這張圖。 春節(jié)檔無疑是一年最搶錢的檔期,而喜劇片又是此檔期的絕對主力。暑期檔則是另一個票房小高峰。動作片一年四季都不錯

這里的月度劃分是按首映日期,所以會有一些提前,比如國慶檔的票房都記在了九月份。

以上面幾組數(shù)據(jù)來看,如果哪位土豪讀者想投資拍電影, 選擇動作片是比較保險的,記得要把故事說好,最好再加點科幻元素,在春節(jié)前上映 。

評分對比

這里做了 IMDB、時光網(wǎng)、貓眼 分別和 豆瓣 評分的關(guān)系對比。

按理說,如果兩個網(wǎng)站的評分基本一致的話,這些點應(yīng)當分布在對角線上。 IMDB、時光網(wǎng)和豆瓣還是差不多的 (豆瓣其實是5星制,最低2分)。再細分一下, 時光網(wǎng)和豆瓣的相關(guān)性要比 IMDB 更大 (文化差異), 好片比爛片的相關(guān)性更大 (好片都說好,爛片則口味不同)。

有意思的是 貓眼 (最右側(cè)圖),它的評分普遍要比豆瓣高,相信很多人都有直觀感受。當然這也有它的原因: 貓眼買了票的人才會評分,那一般總歸會選個自己愛看的吧

【彩蛋】圖上右下角有個令人矚目的孤點,這部電影是個例外,它貓眼評分2.9,豆瓣卻有6.9,你知道是哪部嗎?(可以留言猜一下,我待會兒在留言中公布答案)如果你了解此片背后的故事,定會一拍大腿恍然大悟。

演員

好了,到了公布最終結(jié)果的時候。

第一名: 王成思

參演電影: 《西紅柿首富》25億;《唐人街探案2》34億;《李茶的姑媽》6億

這……是誰啊,演的誰……

斯坦·李憑借各種客串,位列第3。而另一位能在Marvel、DC兩道均能跑龍?zhí)椎募s翰·蓋蒂爾,也躋身前十,同樣也不知道他演的角色……

怎么樣,有沒有出乎你的意料?現(xiàn)在你可以拿這個去問別人了

所有圖表在網(wǎng)頁上都是動態(tài)可交互的,訪問地址請在我們公眾號( Crossin的編程教室 )里回復關(guān)鍵字 票房

代碼也已上傳,并附帶有說明文檔,大致說明了實現(xiàn)思路、文件說明、技術(shù)細節(jié)。同樣回復關(guān)鍵字 票房

如果你想要跟著實現(xiàn)或運行相關(guān)代碼,我這里再簡單說幾點。

項目整體思路:

通過 中國票房網(wǎng) 獲得2018年大陸上映電影和每部電影票房數(shù)據(jù)

根據(jù)已有的票房數(shù)據(jù),通過豆瓣 api 和詳細頁面,獲得每部電影的導演,演員和豆瓣評分等詳細數(shù)據(jù)

分別通過 貓眼、時光網(wǎng) 和 imdb,獲取這三個網(wǎng)站的電影評分數(shù)據(jù)

新建影人條目,利用豆瓣獲得的影人數(shù)據(jù),對2018年每個演員年參演電影進行統(tǒng)計

根據(jù)已有數(shù)據(jù)作圖,分析2018年電影票房排名、不同網(wǎng)站評分差異、電影票房-評分關(guān)系等

開發(fā)環(huán)境及所需庫:

python 3.6(3.5以上版本應(yīng)該都沒啥問題)

jupyter notebook - 這個之前介紹過多次,數(shù)據(jù)分析好幫手

requests - 網(wǎng)頁抓取

bs4 - 網(wǎng)頁文本分析

pymongo - 本項目用了 mongodb 數(shù)據(jù)庫

numpy - 數(shù)據(jù)計算必備

pyecharts - 繪圖工具包 ECharts 的封裝

有幾點值得注意的是:

因為豆瓣的搜索結(jié)果是模糊匹配,根據(jù)電影名會搜出多部電影,因此匹配豆瓣信息時增加了人工干預的步驟。這部分代碼可以再優(yōu)化。

項目使用 MongoDB 作為數(shù)據(jù)存儲,這不是必須的,你可以把這部分代碼改成文件保存。另外 如果你只是想做數(shù)據(jù)分析,也可以拿我們抓取好導出的數(shù)據(jù) ,免除抓取之苦。(附帶在項目中,僅供學習,請勿商用,否則后果自負)

部分代碼(僅演示,完整代碼見項目倉庫):

抓取并保存


client = pymongo.MongoClient()
db = client.chinamovies # 獲取或新建名為 chinamovies 的 database
collections = db.movies # 獲取或者新建了一個表
url_origin = "http://www.cbooo.cn/Mdata/getMdata_movie?area={area}&type=0&year=2018&initial=%E5%85%A8%E9%83%A8&pIndex={page}"
url = url_origin.format(area=area, page=page)
req = requests.get(url, headers=headers)
data = req.json()
collections.insert_many(data["pData"])

獲取豆瓣信息


url_api = "https://api.douban.com/v2/movie/search?q={}".format(moviename)
req = requests.get(url_api, headers=headers)
data_total = req.json()["subjects"]
if not data_total:
    print("你搜索的不存在:", moviename)
else:
    print(data_total[0])

計算影人參演票房總和


for i in col_casts.find():
    total_box = 0
    for j in i["movie_id"]:
        movie = collections_detail.find_one({"id": j})
        if movie["boxoffice"]:
            total_box += int(movie["boxoffice"])
    col_casts.update_one({"_id": i["_id"]}, {"$set": {"total_box": total_box}}, upsert=True)

輸出票房/評分分布散點圖


scatter = Scatter("電影評分-票房")
total_num = 0
for i in genre:
    total_num += len(genre[i]["rate"])
    scatter.add(i, genre[i]["boxoffice"], genre[i]["rate"], **other_setting, extra_name=genre[i]["title"],
                xaxis_name="票房(億)", yaxis_name="評分", yaxis_name_gap=20,yaxis_min=2, symbol_size=5,
                label_formatter="{c}", is_label_emphasis=True, is_toolbox_show=False)
scatter.render("電影評分-票房.html")

查看交互圖表和代碼地址,請在公眾號( Crossin的編程教室 )回復關(guān)鍵字 票房

════

其他文章及回答:

學編程:如何自學Python | 新手引導 | 一圖學Python

開發(fā)案例:智能防擋彈幕 | 紅包提醒 | 流浪地球

歡迎搜索及關(guān)注: Crossin的編程教室

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/43567.html

相關(guān)文章

  • 從數(shù)據(jù)上看:才是漫威的絕對C位

    摘要:據(jù)說此部之后,不少影迷熟知的角色演員就要離開漫威世界的熒幕了。換句話說用數(shù)據(jù)說話,誰才是漫威宇宙中著墨最多的人物我之前做了個小調(diào)查僅就我這邊的采樣來看,鋼鐵俠在國內(nèi)是無法撼動的人氣王。 復聯(lián)4上映了!這次比美國還早了兩天。當然,我還沒看,不會給你們劇透,當然也不想不劇透。 這一部不僅是滅霸這一線劇情的結(jié)局,也被認為漫威第三階段的收官之作。據(jù)說此部之后,不少影迷熟知的角色(演員)就要離開...

    RancherLabs 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<