2018至2021年新春挡电影票房分析
這里寫目錄標題
- 一丶背景
- 二丶知識儲備
- 三丶設計思路
- 四丶具體代碼以及結果分析
- 4.1 設計方案
- 4.2編碼與測試
- 4.3核心代碼
- 4.4運行結果及分析
- 五丶總結與展望
- 六丶參考文獻
一丶背景
隨著經濟的發展,人們生活水平的提高,我們從追求能吃上飽 飯到現在能夠最大程度的追求生活質量,改善我們的生活方式。 電影也成為人們平常生活娛樂的方式之一,沒事去電影院看看電 影成為了很多人的首選。文化產業也是近幾年來我國大力扶持的 產業,因此影視文化也得到了大力的發展。本課題是關于 2018 年 至 2021 年新春檔電影票房的數據分析,(2020 年由于疫情原因 沒有新春檔電影),對這三年新春檔的電影從票房,評分,以及 評論等方面做一個多方位的分析,最后得到結論。數據分析在目 前的市場上扮演著一個越來越重要的角色,未來的大趨勢也會將 數據分析這一技術推向更高的高度。
對于數據分析,包含了基于數據收集、數據儲存、數據清潔、 數據挖掘和基于數據模型等。其中,數據收集主要應該包括兩個 部分。一方面,使用網絡爬蟲這一手段把出現在網絡和移動設備 上的各類信息都收集了起來并且有效地對這些信息加以了管理。 另一方面,傳感器的使用,尤其是在各種傳感器類型的發展下, 對不同行業內數據的收集起到了正向的促進作用[1]。
二丶知識儲備
此課題屬于 python[2]進階知識,需要掌握的技術如下:
2.1python 相關變量定義,打印出想要打印的字符串
2.2 運算符,測試,條件。
2.3 循環,嵌套循環。break 等
2.4 函數調用。
2.5 文件。
3.爬蟲相關知識[3]
4.爬蟲環境的搭建:pip install+包名稱。反爬技術基礎。
5.詞云制作。
三丶設計思路
此課題主要從兩個網頁獲取數據:豆瓣電影已經貓眼電影。從貓 眼電影獲取各個新春擋電影的票房,電影類型,時長,電影票價格, 場次人數。從豆瓣電影獲取電影評分,電影評論。 將獲取到的數據做可視化[4]處理:柱形圖,條形圖,詞云分析。
四丶具體代碼以及結果分析
4.1 設計方案
使用豆瓣以及貓眼電影網址然后收集其對應的內容(名字,類型,時長,評分, 票房,電影票費用,場均人數)
代碼實現流程:
1.對電影的頁面 https://movie.douban.com/以及 https://maoyan.com/ 發送請求
2.獲取網頁文本數據
3.用變量收集這些數據
4 保存數據
5.分析數據得到結果 環境搭建:
4.2編碼與測試
關鍵代碼:
1:headers 反檢測代碼:
將 ip 封裝成瀏覽器,防止檢測
2:path=r'C:\Users\Administrator\Desktop\python_work\電影’ 獲取數據之后文件的源地址
3:if __name__=='__main__': get_text(url)
函數驅動器
4: with open(path+title[0],'w',encoding='utf-8') as f:
將數據保存入 txt,實際上是寫入
5 : stopwords=set([line.strip()for line in open ('cn_stopwords.txt',mode='r',encoding='utf_8').readlines()]) )
屏蔽詞匯,將一些詞語屏蔽出詞云分析
4.3核心代碼
爬蟲部分
def get_text(url=url,headers=headers): r=requests.get(url=url,headers=headers) r.encoding = 'utf-8' #獲取電影標題selector=etree.HTML(r.text) title=selector.xpath('//*[@id="content"]/h1/span[1]/text()') print(title) #電影類型 type1=selector.xpath('//*[@id="info"]/span[5]/text()') type2 = selector.xpath('//*[@id="info"]/span[6]/text()') #type3 =selector.xpath('/html/body/div[3]/div/div[2]/div[1]/ul/li[1]/a[3]/text()') #type=f'{type1},{type2},{type3}' type = f'{type1},{type2}' print(type) #電影評分 points=selector.xpath('//*[@id="interest_sectl"]/div[1]/div[2]/strong/text()') print(points) #電影時間 time=selector.xpath('//*[@id="info"]/span[12]/text()') print(time) with open(path+title[0],'w',encoding='utf-8') as f: f.write(title[0]+':'+'\n') f.write(type+', ') f.write(points[0]+', ') f.write(time[0]+', ')詞云分析部分
import jieba import imageio import wordcloud f = open("《電影名字》.txt", mode='r',encoding='utf-8') txt = f.read() #print(txt) txt_list=jieba.lcut(txt) print('中文分詞之后的結果:',txt_list) string1=''.join(txt_list) print('合并之后的字符串:',string1) img=imageio.imread('xx.png') imageio.imread('賈玲.png')#詞云圖的輪廓# wc=wordcloud.WordCloud( width=1000, height=800, background_color='black', font_path='msyh.ttc',#微軟雅黑 mask=img, scale=15,#字體大小 stopwords=set([line.strip()for line in open ('cn_stopwords.txt',mode='r',encoding='utf_8').readlines()]) )#詞云圖接受文字wc.generate(string1) wc.to_file('電影名字詞云結果.png')4.4運行結果及分析
4.41 近三年新春檔電影票房情況
從圖中我們可以分析到,2018 和 2019 的票房相差不大,但是 2021 相比 2019 增 漲了百分之 30 左右。
原因如下:
4.42: 2018,2019,2021 每部電影票房如下:
通過以上三張圖,可以看到,每一年春節票房冠軍都在 35 億票房以上,直 接排到整個電影票房排行榜的前十,這足已說明最近幾年中國電影取得了一個巨 大的進步!
2018 年,紅海行動以軍事題材走入了大眾的視野,展現除了中國軍人的風范! 點燃了大眾的熱血,最后逆轉唐人街探案 2 拿下票房冠軍。
2019 年,流浪地球重新書寫中國科幻片,將中國的大門打開,并帶來了曙光。 中國的電影向來不擅長制作科幻片,流浪地球的出現,打破了這一現象,在 2019 年勢如破竹的取得了票房冠軍。
2021 年,唐人街探案 3 與你好李煥英更是雙雙達到了 45 億以上的成績,你 好李煥英更是接近中國內地票房冠軍。2021 年新春票房百分之 75 以上的票房都 來源于這兩部電影。唐人街探案 3 是前兩部積累的超級人氣,在電影開場第一天 就取得了 10 億的成績,直接打破中國歷史上電影開場第一天的票房記錄并遠遠 地將其他電影甩在后面,傲視群雄。你好李煥英則是以溫馨感動觸動到大眾的心 靈,穩扎穩打,拿下 2021 年春節檔票房冠軍。
4.43 分析每年票房整體信息
分析以上三張圖片信息,我們可以看到 2018 年中國電影票價低于 40 一張,
而 2019 年票價在 40 左右,最后票房卻比 2018 年低,說明 19 年的電影質量不如 18 年,因為在 2018 年除了流浪地球取得了很好的成績,其他電影并沒有十分突 出,這就導致了觀眾二刷的數量減少,票房降低。在 2021 年,票房迎來了一個 小幅度的增長,普遍在 45 以上,比 18 年高了百分之 20 左右,但是我們可以觀 察一下每場電影的人數,21 年的場均人數基本比 18 年低,我認為 2021 年票房 增長那么快的一個很重要的原因是我們的經濟比 18 年更加好了,電影票邊貴并 沒有對票房產生影響,都控制在國人能接受的范圍內。
4.44 分類型分析電影票房
以上將每部電影的標簽拆開,然后合并在了一次,將數據可視化之后的結果。 可以看出,喜劇片的數量遠遠多于其他數量,在電影市場占據絕對領導的地位。 并且,量多質量并不會出現質量低的情況,近三年春節檔電影的平均的票房為 18 億,喜劇片億 15 部取得了 16 億的成績,這是十分難得的,并且,每年春節 檔電影前二都在喜劇片的影子,這說明中國喜劇電影比較成熟。戰爭,災難片因 為數量少,不具有分析意義。其中犯罪片以及愛情片在春節檔上映都沒有取得好 的成績,這是因為大年初一,我們都想有個快快樂樂的開頭,基本不會光顧這種 類型的電影,科幻片和懸疑片也都取得了不錯的成績。
4.45 電影詞云分析:
五丶總結與展望
爬蟲以及詞云分析技術是數據分析指用適當的統計、分析方法對收集來 的大量數據進行分析,將它們加以匯總和理解并消化,以求最大化地 開發數據的功能,發揮數據的作用。數據分析是為了提取有用信息和 形成結論而對數據加以詳細研究和概括總結的過程[5]。
使用python進行爬蟲時,注意幾個地方:
六丶參考文獻
總結
以上是生活随笔為你收集整理的2018至2021年新春挡电影票房分析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: reg、wire与logic的区别
- 下一篇: Unsupervised Domain