一、確定分析場景,明確分析目的

首先提出問題後,明確我們想得到什麼結論和資訊。然後可以從什麼渠道獲取資料,運用什麼分析方法進行資料分析,最後得出結論輸出報告。

比如我想做一個優秀電影的資料分析,看看這些電影主要來自哪些國家、哪些演員主演、人們對電影的評價情況等等,豆瓣有電影的排行榜,以豆瓣電影Top250為例,先看看榜單上有哪些資料資訊:

資料分析——以【豆瓣電影Top250】為例

來自豆瓣電影

可以看到,榜單上有電影名、導演、主演、上映年份、製片國家、電影型別、評分、評價人數等資訊,這些可以透過描述性統計、視覺化圖表來展開分析:哪些電影評分靠前、最受熱評?哪些型別、國家、導演、演員高產優質電影?上榜電影數量逐年變化趨勢怎樣?最後得出結論。理完整個資料分析的思路,我們就可以進行下一步。

二、獲取資料

利用python爬取資料,程式碼如下:

import requests, random, bs4, csv

#引用csv模組。

csv_file=open(‘movieTop250。csv’, ‘w’, newline=‘’,encoding=‘utf-8’)

writer = csv。writer(csv_file)

# 用csv。writer()函式建立一個writer物件。

writer。writerow([‘序號’, ‘電影名’, ‘評分’, ‘推薦語’, ‘連結’,‘a’,‘b’])

#呼叫writer物件的writerow()方法,可以在csv檔案裡寫入title:‘序號’, ‘電影名’, ‘評分’, ‘推薦語’, ‘連結’

for x in range(10):

url = ‘

豆瓣電影 Top 250

’ + str(x*25) + ‘&filter=’

res = requests。get(url)

bs = bs4。BeautifulSoup(res。text, ‘html。parser’)

bs = bs。find(‘ol’, class_=“grid_view”)

for titles in bs。find_all(‘li’):

num = titles。find(‘em’,class_=“”)。text

title = titles。find(‘span’, class_=“title”)。text

comment = titles。find(‘span’,class_=“rating_num”)。text

url_movie = titles。find(‘a’)[‘href’]

a=titles。find(‘p’,class_=“”)。text

b=titles。find(‘div’,class_=“star”)。text

if titles。find(‘span’,class_=“inq”) != None:

tes = titles。find(‘span’,class_=“inq”)。text

# 把num, title, comment, tes和url_movie寫成列表,用append函式多行寫入Excel

writer。writerow([num , title , comment , tes , url_movie,a,b[5:]])

else:

writer。writerow([num , title , comment , ‘’, url_movie,a,b[5:]])

print(num,b[5:],title,comment,url_movie,tes,a)

csv_file。close()

執行程式碼後,生成movieTop250。csv表。(推薦語和連結也一起爬下來了,請忽略。。)

資料分析——以【豆瓣電影Top250】為例

三、資料預處理

獲取資料後,我們還需要對資料進行清洗才能使用。直接使用Excel的查詢—替換功能和資料—分列功能,缺失值異常值處理後,形成可使用資料。

資料分析——以【豆瓣電影Top250】為例

四、資料分析

1、描述性統計

豆瓣電影Top250評分平均值為8。868(十分制),最高評分9。7(肖申克的救贖),最低評分8。3(驢得水)。最多電影評分8。8,有47部。評分主要集中在[8。7,8。8]。

資料分析——以【豆瓣電影Top250】為例

資料分析——以【豆瓣電影Top250】為例

資料分析——以【豆瓣電影Top250】為例

2、哪些電影評分靠前、最受熱評?

將豆瓣電影Top250的評分和評論人數分別降序排序,得出評分前十和熱評前十的電影如下:

資料分析——以【豆瓣電影Top250】為例

評分前十的電影

資料分析——以【豆瓣電影Top250】為例

評論人數前十的電影

可以看出,這些作品基本都是廣大群眾心中的經典之作,其中美國有不少電影作品獲得人們的高度評價和關注度。

3、哪些型別、國家、導演、演員高產優質電影?

動畫、犯罪、劇情、喜劇、愛情題材型別的電影數量最多,佔比57。2%。其中,動畫類有33部,佔13。2%。紀錄片、音樂、兒童、歌舞這些較為小眾的題材則佔比較低,佔4。8%。

資料分析——以【豆瓣電影Top250】為例

型別—數量分佈圖

美國、日本、中國產出高質電影數量靠前。其中,美國上榜的電影數量高達120部,佔48%。

資料分析——以【豆瓣電影Top250】為例

國家/地區—數量分佈圖

高產優質電影的導演主要有宮崎駿(7部)、克里斯托弗·諾蘭(7部)、史蒂文·斯皮爾伯格(7部)、李安(5部)、王家衛(5部)。

資料分析——以【豆瓣電影Top250】為例

高產優質電影的主演主要有湯姆·漢克斯(5部)、萊昂納多·迪卡普里奧(4部)、伊桑·霍克(4部),三位均是美國演員。

資料分析——以【豆瓣電影Top250】為例

4、上榜電影數量逐年變化趨勢怎樣?

總的來看,1931-1983年都有穩步產出1-2部優質電影,1983年以後呈增長趨勢,其中1994-2015年是高產出期,直到2015年開始有下滑跡象。中國在1961年開始出現第一部上榜優質電影(大鬧天宮),1979年開始有優質電影陸續產出。

資料分析——以【豆瓣電影Top250】為例

五、總結

豆瓣電影Top250是豆瓣根據每部影片看過的人數以及該影片所得的評價等綜合資料,透過演算法分析產生的排行榜。能在一定程度度上反映各部電影的影響力、關注度和觀眾喜愛程度。

以下將從個方面進行總結:

1、總體:

豆瓣電影Top250評分平均值為8。868(十分制),最高評分9。7(肖申克的救贖),最低評分8。3(驢得水)。最多電影評分8。8,有47部。評分主要集中在[8。7,8。8]。

2、Top10:

從豆瓣電影Top250的評分與熱評人數前十來看,不少都是廣大群眾心中的經典之作,其中美國有不少電影作品獲得人們的高度評價和關注度。

3、型別:

動畫、犯罪、劇情、喜劇、愛情題材型別的電影數量最多,合佔57。2%,型別均較為大眾。其中,動畫類在所有題材中數量最多,達33部,佔13。2%,在唯美可愛的風格下,卻蘊含著令人深思的道理。紀錄片、音樂、兒童、歌舞這些較為小眾的題材則佔比較低,合佔4。8%,只要用心,即使小眾,也能拍出優秀電影。

4、製片國家:

美國、日本、中國產出高質電影數量靠前。其中,美國上榜的電影數量高達120部,佔48%。美國電影既保證了場面的視覺效果,又融合了人性的感悟和現實的道理,加上眾多演員的精湛演技,容易使人們產生共鳴,不愧是優作產出大國。

5、導演、主演:

高產優質電影的導演主要有宮崎駿(7部)、克里斯托弗·諾蘭(7部)、史蒂文·斯皮爾伯格(7部)、李安(5部)、王家衛(5部)。高產優質電影的主演主要有湯姆·漢克斯(5部)、萊昂納多·迪卡普里奧(4部)、伊桑·霍克(4部),三位均是美國演員。

6、逐年變化趨勢:

總的來看,1931-1983年都有穩步產出1-2部優質電影,1983年以後呈增長趨勢,其中1994-2015年是高產出期,直到2015年開始有下滑跡象。中國在1961年開始出現第一部上榜優質電影(大鬧天宮),1979年開始有優質電影陸續產出,但數量不多。美國電影製作較為成熟,希望中國能穩住電影質量,繼續加油產出更多優質電影。