python大作业数据 | 您所在的位置:网站首页 › python数据分析大作业代码 › python大作业数据 |
学妹期末大作业 基于Python的十年(2009年~2018年)电影票房前25位分析 根据URL“http://www.cbooo.cn” 通过代码爬取2009-2018每年票房排名前25的影片名称、类型、总票房(万)、平均票价、场均人次及国家及地区的信息,并按照以下要求完成分析。 1. 按年统计 1) 不同类型电影的平均票房 2) 不同国家及地区电影在前25排名中的占比 2. 分析十年间 1) 每年票房冠军的票房走势,并找出十年票房总冠军 2) 不同类型的票房分冠军 3) 同一类型电影平均票房走势,分别找出上升、下降最厉害的两种类型 4) 同一地区在前25排名中占比的变化趋势,分别找出占比上升、下降最厉害的两个地区 5) 探究是否有一种或多种类型的电影在十年间票房震荡非常厉害 3. 分析总票房和平均票价、场均人次、排片场数之间的关系。 4.撰写word文档完成本分析题,所有的结论和分析都需要配图或表加以支撑。并将十年间共250部电影名称作成词云烘托主题。 大作业分析 1.环境,建议使用anaconda3(环境集成,不用再去安装依赖包,之类的) 官网地址:https://www.anaconda.com/download/ 2.分为爬取数据和分析两个部分 下面直接上代码 爬虫部分,爬取数据并存放到data.csv中 #!/usr/bin/python # -*- coding: utf-8 -*- import requests import time import re import csv from bs4 import BeautifulSoup #设置URL固定部分 url='http://www.cbooo.cn/year?year=' #设置请求头部信息 headers = { 'User-Agent':'Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/55.0.2883.87 Safari/537.36' } #循环抓取列表页信息 for year in range(2009,2019): if year == 2009: year=str(year) a=(url+year) r=requests.get(url=a,headers=headers) html=r.content else: year=str(year) a=(url+year) r=requests.get(url=a,headers=headers) html2=r.content html = html + html2 #每次间隔0.5秒 time.sleep(0.5) lj=BeautifulSoup(html,'html.parser') #print(lj) #提取名称、类型、总票房(万)、平均票价、场均人次及国家及地区 result=lj.find_all('td') #print(result) #print(len(result)) mname=[] title="" index=1 year=2009 for i in result: i=str(i) title=re.findall(r'(.*?)',i,re.I|re.M) if len(title)>0: mname.append(index) index=index+1 mname.append(title[0]) else: info=re.findall(r'(.*?)',i,re.I|re.M) mname.append(info[0]) #print(len(mname)) #print(mname) k=0 data=[] while k |
CopyRight 2018-2019 实验室设备网 版权所有 |