佩奇撲街、外星人瘋狂!Python 告訴你大年初二應該看哪部電影
作者 | 羅昭成
責編 | 唐小引
轉載自 CSDN資訊(ID:CSDNnews)
引言
2019 年 1 月,《啥是佩奇》短片在網際網路快速傳播,各大社交平臺形成刷屏之勢。不到 24 小時,官博發出的視訊已經收穫 2800 萬次觀看,14 萬次點贊,17 萬次轉發。
作為《小豬佩奇過大年》先導片,片中內容不僅引人深思,也把我們的視線拉了到春節檔電影。在外工作一年,難得的幾天閒暇時間,回到家裡,陪陪父母,看看孩子。可以和父母一起去看看電影,重溫一家人的溫暖。
扎堆上映的一大波影片讓我們眼花繚亂,在眾多電影中,我們應該選擇哪一步電影來看呢?下面,我們用資料來分析分析,看看其他人都在看啥電影,讓我們從選擇恐懼症中解放出來。
貓眼預售票房資料分析
和之前文章不同,本次爬取的電影都還沒有上映,所以筆者將側重點從評論資料,轉移到了其他地方,來進行我們想要的資料分析。
首先我們先來看看,春節檔的票房資料,開啟貓眼專業版實時票房,我們可以看到某一天的票房資料。
此圖截於大年三十晚,可以看到《飛馳人生》在大幅上升,已經趕超《流浪地球》
雖然能看到,但是要進行分析,還是不太方便,所以先把資料都抓取下來:
作者注:抓取分析資料截止時間為 2019-02-03 18:38:49,並非最新資料,可能存在誤差。
使用 Chrome 的除錯模式,在網路請求中可以看到獲取實時資料的網路請求:
https://box.maoyan.com/promovie/api/box/second.json?beginDate=20190205
拿到介面,就可以很簡單地將資料拿下來,並儲存起來。
傳送網路請求
Python 的 Request 庫可以很方便地傳送網路請求,程式碼如下:
def requestData(url, params):
session = requests.Session()
headers = {
"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 11_0 like Mac OS X)",
"Accept": "application/json",
"Connection": "keep-alive",
"Accept-Language": "en-US,en;q=0.9,zh-CN;q=0.8,zh;q=0.7,zh-TW;q=0.6",
"Accept-Encoding": "gzip, deflate"
}
response = session.get(url, params=params, headers=headers)
if response.status_code == 200:
return response.text
return None
給定一個 URL 地址,和上行的引數,呼叫此方法,就可以模擬瀏覽器將資料拿回來。
儲存資料到資料庫中
Python 中還有一個 JSON 庫,可以方便地解析 JSON。本文中,也是使用的它來進行的資料解析。因為資料抓取了很多天的預售票房資料,所以在儲存的時候,使用 movieId 和 date 組合為每一條資料的唯一 ID。為方便後面處理資料,減少網路請求,所以將所有的原始資料儲存起來。程式碼如下:
def saveItem(date, jsonStr):
dic = json.loads(jsonStr)["data"]
boxUnit = dic["totalBoxUnitInfo"]
dataList = dic["list"]
for item in dataList:
movieId = item["movieId"]
if item["releaseInfo"] == u"上映首日" or item["releaseInfo"] == u"上映2天" or item["releaseInfo"] == u"上映3天" :
insertPiaofangMovieInfo(
str(movieId) + "_" + date, date, movieId, item["movieName"],
item["boxRate"],item["boxInfo"],boxUnit ,item["showRate"],
item["showInfo"],item["avgSeatView"],item["avgShowView"]
)
在貓眼實時票房中,我們可以看到《瘋狂的外星人》票房最高。但並不太能直觀的感受到和其它幾部電影的差距,視覺化展示資料能夠更加友好,這裡使用了 pyechats 來進行資料渲染。看圖說話:
在圖中可以看到《瘋狂的外星人》的票房要選高於其他電影,而截止 2 月 3 日晚,《流浪地球》與《飛馳人生》的票房相當(編者注:隨後在除夕夜《飛馳人生》趕超)。前段時間刷屏的《小豬佩奇過大年》的票房資料落底,實在有點令人吃驚,看這個資料,佩奇再紅,還是幹不過熊大熊二。
圖片來源:movie.douban.com
為了更好地給大家作參考,筆者還抓取了春節檔電影的“想看”資料。
介面:http://m.maoyan.com/ajax/detailmovie?movieId=movieId
拿到這些資料,繪製了一個折線圖:
綜上我們可以看到,無論是實實在在的預售票房,還是眾口熱議的口碑上,《瘋狂的外星人》都是實質名歸的贏家,筆者也建議有時間的朋友去看看。
另一方面,周星馳的《新喜劇之王》的想看量在 319844,位於春節檔的第三位。首日的資料票房卻只有不到 6000W,難道是朋友們都還在上班,我們欠星爺的電影票還要繼續欠著?
圖片來源:movie.douban.com
史上最強春節檔的評分對比
分析完上面的票房與觀眾想看的資料過後,貓眼中還有關於春節檔節目的短評資料,使用者也給了相應的評分。憑藉對導演與演員的信任度,給出了相應的評分。
先將評論資料抓取到本地儲存。
介面: http://m.maoyan.com/review/v2/comments.json
程式碼如下:
def saveComment(movieId, comment):
conn = sqlite3.connect('spring_festival.db')
conn.text_factory = str
cursor = conn.cursor()
ins = "insert into comments(id, movieId, content, gender, nick, score, original) values (?,?,?,?,?,?,?)"
v = (comment["id"], movieId,comment["content"], comment["gender"], comment["nick"], comment["score"], json.dumps(comment))
cursor.execute(ins, v)
cursor.close()
conn.commit()
conn.close()
評分圖如下:
從上圖我們可以明顯地看出,春節檔之中,觀眾朋友對《新喜劇之王》、《流浪地球》、《飛馳人生》、《廉政風雲》、《熊出沒-原始時代》明顯有超高預期,而如《神探蒲松齡》、《小豬佩奇過大年》,觀眾對其預期明顯比其他電影要低。很難想象,前不久的《啥是佩奇》掀起全民佩奇熱,尤其今年還是佩奇年的時候,這股熱潮並沒有直接反應到佩奇的年度大戲中,而今年春節檔唯一一部古裝戲,且有成龍大哥坐鎮的《神探蒲松齡》也並沒有打動觀眾。
評論詞雲
最後,我們再以詞雲來綜合看一下以上所有電影的評論關鍵詞,除卻“期待”之外,可以顯著地看到“沈騰”、“黃渤”、“流浪地球”,這人心所向一定程度上是極大的認可,只不過比較讓人疑惑的是,為什麼風評不錯的《流浪地球》,甚至一度有其(流浪地球)的出現“開啟了中國科幻電影‘元年’,可以稱得上是春節自救指南,帶你流浪人生”這樣非常高的讚譽之聲,但為什麼這一切沒有直接體現在票房上?此外,對於春節而言,所求無非是闔家歡樂,無論看什麼,最重要的,還是一起看的人。
謹以此文,祝所有程式設計師朋友新春大吉,闔家歡樂,幸福團圓!
(本文為 AI科技大本營轉載文章,轉載請聯絡作者。)
徵稿推薦閱讀:
你的紅包狂歡夜,網際網路巨頭們的流量爭奪戰
程式設計師給銀行植入病毒,分 1300 次盜取 718 萬,被判 10 年半!
大廠必問的分散式究竟是什麼鬼?
ProgPow:以太坊上浮世繪
這4門AI網課極具人氣,逆天好評!(附程式碼+答疑)
給AI開發者的新年禮物,技術公開課大放送(附演講PPT)
如何用最強模型BERT做NLP遷移學習?
“百練”成鋼:NumPy 100練
點選“閱讀原文”,開啟CSDN APP 閱讀更貼心!
相關文章
- 豆瓣:2013年瘋狂電影大資料之看電影大資料
- 豆瓣:2013年瘋狂電影大資料之聊電影大資料
- Python老司機告訴你,學習Python應該讀哪些書!Python
- 告訴你電感嘯叫該如何解決
- 資料告訴你:他們都在多大年紀拿下奧運冠軍?
- 資料解讀2019春節檔哪部電影最值得看?
- Mob統計分析告訴你運營、產品、市場、管理層應該看哪些資料項?
- 有答案了!一張圖告訴你到底學Python還是Java!你咋看?PythonJava
- 瘋狂連連看之開發遊戲介面元件開發遊戲元件
- 程式設計師該看的幾部電影程式設計師
- 實在智慧RPA告訴你,高效快速才是你的《狂扁小朋友》
- 瘋狂連連看之載入介面的圖片
- 你真的會玩SQL嗎?Case也瘋狂SQL
- 萬兆網路卡該如何選擇?我來告訴你!
- 碼教授告訴你大資料該怎麼用大資料
- 你眼中的Python大牛,應該都看過這些書Python
- 瘋狂的Web應用開源專案Web
- 用squid再次瘋狂加速你的web(轉)UIWeb
- 用資料告訴你:SDK加固為什麼應該選擇網易易盾
- 騰訊“瘋狂”開源!
- 網易瘋狂佇列佇列
- 瘋狂學習——DP!
- 京東正在瘋狂招人。。。
- 【vue】用圖告訴你響應式原理Vue
- 從看電影到“玩”電影,電影技法究竟如何在遊戲中融合和應用遊戲
- 31部黑客電影 你看過哪幾部?黑客
- 逛超市不知該買啥菜?SmartDeviceBox冰箱能告訴你dev
- 智慧醫療告訴你基層醫療該如何做?
- 大資料告訴你該如何解決醫患糾紛大資料
- 一張圖告訴你學JAVA還是學Python!JavaPython
- Python——你應該知道這些Python
- win10 1909瘋狂讀硬碟怎麼解決_win10電腦硬碟瘋狂讀寫修復方法Win10硬碟
- 建站應該如何選擇伺服器?摩杜雲告訴你,從這四個方面下手!伺服器
- 瘋狂的遊戲代言人!遊戲
- 瘋狂的程式設計世界程式設計
- 瘋狂的程式設計師程式設計師
- 蘋果瘋狂挖角特斯拉 特斯拉回應:蘋果比我們錢多蘋果
- 撲克告訴我們的十大投資經驗