【Python数据分析案例】——中国高票房电影分析(爬虫获取数据及分析可视化全流程)

我想自己用爬虫一下获取中国高票房的电影数据,然后分析一下。

数据来源于淘票票:影片总票房排行榜 (maoyan.com)

爬它就行。

代码实现

首先爬虫获取数据:

数据获取

导入包


import requests; import pandas as pd
from bs4 import BeautifulSoup

传入网页和请求头


url = 'https://piaofang.maoyan.com/rankings/year'
headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36 Edg/116.0.1938.62'}
response1 = requests.get(url,headers=headers)
response.status_code

200表示获取网页文件成功

然后解析网页文件,获取电影信息数据


%%time
soup = BeautifulSoup(response.text, 'html.parser')
soup=soup.find('div', id='ranks-list')
movie_list = []
 
for ul_tag in soup.find_all('ul', class_='row'):
    movie_info = {}
    li_tags = ul_tag.find_all('li')
    movie_info['序号'] = li_tags[0].text
    movie_info['标题'] = li_tags[1].find('p', class_='first-line').text
    movie_info['上映日期'] = li_tags[1].find('p', class_='second-line').text
    movie_info['票房(亿)'] = f'{(float(li_tags[2].text)/10000):.2f}'
    movie_info['平均票价'] = li_tags[3].text
    movie_info['平均人次'] = li_tags[4].text
    movie_list.append(movie_info)

数据获取完成了! 查看字典数据:

movie_list

可以,很标准,没什么问题,然后把它变成数据框,查看前三行

movies=pd.DataFrame(movie_list)
movies.head(3)

对数据进行一定的清洗,我们看到上映日期里面的数据有“上映”两个字,我们要去掉,然后把它变成时间格式,票房,票价,人次都要变成数值型数据。

我们只取票房前250的电影,对应豆瓣250.,中国票房250好叭

然后我们还需要从日期里面抽取年份和月份两列数据,方便后面分析。


#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值