Python爬取猫眼电影票房 + 数据可视化

这篇具有很好参考价值的文章主要介绍了Python爬取猫眼电影票房 + 数据可视化。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

猫眼电影票房实时数据爬取,数据挖掘,python,信息可视化,开发语言,数据挖掘

主角查看与分析 爬取

对猫眼电影票房进行爬取,首先我们打开猫眼

猫眼电影票房实时数据爬取,数据挖掘,python,信息可视化,开发语言,数据挖掘
接着我们想要进行数据抓包,就要看网站的具体内容,通过按F12,我们可以看到详细信息。
猫眼电影票房实时数据爬取,数据挖掘,python,信息可视化,开发语言,数据挖掘

通过两个对比,我们不难发现User-AgentsignKey数据是变化的(平台使用了数据加密)
猫眼电影票房实时数据爬取,数据挖掘,python,信息可视化,开发语言,数据挖掘
所以我们需要对User-Agent与signKey分别进行解密。

通过造一个content字符串,包含请求方法、时间戳、User-Agent、index等信息,并对其进行MD5加密得到sign。最后将这些参数放入params字典中,准备发送请求。

def getData():
    url = 'https://piaofang.maoyan.com/dashboard-ajax/movie'
    useragents = 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36 Edg/115.0.1901.183'
    headers = {
        'User-Agent':useragents,
        'Referer':'https://piaofang.maoyan.com/dashboard/movie'
    }

    useragents = str(base64.b64encode(useragents.encode('utf-8')),'utf-8')
    index = str(round(random.random() * 1000))
    times = str(math.ceil(time.time() * 1000))
    content = "method=GET&timeStamp={}&User-Agent={}&index={}&channelId=40009&sVersion=2&key=A013F70DB97834C0A5492378BD76C53A".format(times,useragents,index)
    md5 = hashlib.md5()
    md5.update(content.encode('utf-8'))
    sign = md5.hexdigest()

    params = {
        'orderType': '0',
        'uuid': '17d79b87a00c8-015087c7514df4-5919145b-144000-17d79b87a00c8',
        # 时间戳
        'timeStamp': times,
        # base64加密
        'User-Agent': useragents,
        # 随机数 * 1000取整
        'index': index,
        'channelId': '40009',
        'sVersion': '2',
        # md5加密
        'signKey': sign
    }

接着我们就可以对于猫眼电影票房数据进行爬取了,比如上座率、场均人次、票房占比、电影名称、上映时间、综合票房、排片场次和排片占比等。

    resps = requests.get(url = url , headers = headers, params = params).json()
    # print(resps)
    # 上座率数据缺省值这么使用数据
    data_avgSeatView = jsonpath.jsonpath(resps, '$..avgSeatView')
    # print(data_avgSeatView)
    # 场均人次
    data_avgShowView=jsonpath.jsonpath(resps,'$..avgShowView')
    # 票房占比
    data_boxRate=jsonpath.jsonpath(resps,'$..boxRate')
    # 电影名称
    data_name=jsonpath.jsonpath(resps,'$..movieName')
    # 上映时间
    data_time=jsonpath.jsonpath(resps,'$..releaseInfo')
    # 综合票房
    data_sumBoxDesc=jsonpath.jsonpath(resps,'$..sumBoxDesc')
    # 排片场次
    data_showCount=jsonpath.jsonpath(resps,'$..showCount')
    # 排片占比
    data_showCountRate=jsonpath.jsonpath(resps,'$..showCountRate')
    data={'电影名称':data_name,'上映时间':data_time,'上座率':data_avgSeatView,'场均人次':data_avgShowView,
                     '票房占比':data_boxRate,'综合票房':data_sumBoxDesc,'排片场次':data_showCount,'排片占比':data_showCountRate}
    df = pd.DataFrame(pd.DataFrame.from_dict(data, orient='index').values.T, columns=list(data.keys()))
    print(df)
    df.to_csv("猫眼电影1.csv",index=False,encoding='utf-8')

通过DataFrame输出到控制台我们可以看到爬取成功。
猫眼电影票房实时数据爬取,数据挖掘,python,信息可视化,开发语言,数据挖掘

可视化分析

import pandas as pd
data=pd.read_csv("猫眼电影1.csv")

猫眼电影票房实时数据爬取,数据挖掘,python,信息可视化,开发语言,数据挖掘

数据缺省值处理

# 去除空值
data.dropna(inplace=True)
data

猫眼电影票房实时数据爬取,数据挖掘,python,信息可视化,开发语言,数据挖掘

猫眼电影上座率前10分析

data_sorted = data.sort_values(by='上座率', ascending=False)
data_top10=data_sorted.head(10)
data_top10

猫眼电影票房实时数据爬取,数据挖掘,python,信息可视化,开发语言,数据挖掘

data_top10['电影名称'].tolist()

猫眼电影票房实时数据爬取,数据挖掘,python,信息可视化,开发语言,数据挖掘

percentage=data_top10['上座率'].tolist()
data_shangan=[percentage.replace("%", "") for percentage in percentage]
data_shangan

猫眼电影票房实时数据爬取,数据挖掘,python,信息可视化,开发语言,数据挖掘

from pyecharts.charts import Bar,Line,Map,Page,Pie  
from pyecharts import options as opts 
from pyecharts.globals import SymbolType
from pyecharts.charts import Bar
# from pyecharts.charts import opts
#条形图  
#bar1 = Bar(init_opts=opts.InitOpts(width='1350px', height='750px')) 
bar1 = Bar() 
bar1.add_xaxis(data_top10['电影名称'].tolist())
bar1.add_yaxis('', data_shangan) 
bar1.set_global_opts(title_opts=opts.TitleOpts(title='猫眼电影上座率前10分析'),
                     xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),
                     visualmap_opts=opts.VisualMapOpts(max_=28669)
                    ) 

bar1.render_notebook()

猫眼电影票房实时数据爬取,数据挖掘,python,信息可视化,开发语言,数据挖掘

猫眼电影票房场均人次前10分析

data_sum = data.groupby('电影名称')['场均人次'].sum().sort_values(ascending=False)
data_sum[:10]

猫眼电影票房实时数据爬取,数据挖掘,python,信息可视化,开发语言,数据挖掘

bar3 = Bar() 
bar3.add_xaxis(data_sum[:10].index.tolist())
bar3.add_yaxis('', data_sum[:10].values.tolist())
bar3.set_global_opts(title_opts=opts.TitleOpts(title='猫眼电影票房场均人次前10分析'),
                     visualmap_opts=opts.VisualMapOpts(max_=900)) 
bar3.render_notebook()

猫眼电影票房实时数据爬取,数据挖掘,python,信息可视化,开发语言,数据挖掘

猫眼电影票票房占比分析

data_pf= data.groupby('电影名称')['票房占比'].sum().sort_values(ascending=False)
data_pfzb=data_pf.tail(24)
data_pfzb.head(10)

猫眼电影票房实时数据爬取,数据挖掘,python,信息可视化,开发语言,数据挖掘

data_pftop10 =  [list(z) for z in zip(data_pf.index.tolist(), data_pf.values.tolist())]

# 绘制饼图
pie1 = Pie()
pie1.add('', data_pftop10, radius=['35%', '60%'])
pie1.set_global_opts(title_opts=opts.TitleOpts(title='猫眼电影票票房占比分析'), 
                     legend_opts=opts.LegendOpts(orient='vertical', pos_top='15%', pos_left='2%'))
pie1.set_series_opts(label_opts=opts.LabelOpts(formatter="{b}:{d}%"))
pie1.set_colors(['#EF9050', '#3B7BA9', '#6FB27C', '#FFAF34', '#D8BFD8', '#00BFFF', '#7FFFAA'])
pie1.render_notebook() 

猫眼电影票房实时数据爬取,数据挖掘,python,信息可视化,开发语言,数据挖掘文章来源地址https://www.toymoban.com/news/detail-856915.html

到了这里,关于Python爬取猫眼电影票房 + 数据可视化的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

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

    案例背景 最近总看到《消失的她》票房多少多少,《孤注一掷》票房又破了多少多少… 于是我就想自己爬虫一下获取中国高票房的电影数据,然后分析一下。 数据来源于淘票票:影片总票房排行榜 (maoyan.com) 爬它就行。 代码实现 首先爬虫获取数据: 数据获取 导入包 传入网

    2024年01月20日
    浏览(286)
  • Python数据分析案例30——中国高票房电影分析(爬虫获取数据及分析可视化全流程)

    最近总看到《消失的她》票房多少多少,《孤注一掷》票房又破了多少多少..... 于是我就想自己爬虫一下获取中国高票房的电影数据,然后分析一下。 数据来源于淘票票:影片总票房排行榜 (maoyan.com) 爬它就行。 不会爬虫的同学要这代码演示数据可以参考:数据   首先爬虫

    2024年02月08日
    浏览(59)
  • 用Python爬取电影数据并可视化分析

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 目录 一、获取数据 1.技术工具 2.爬取目标 3.字段信息 二、数据预处理 1.加载数据 2.异常值

    2024年02月06日
    浏览(72)
  • python爬虫爬取电影数据并做可视化

    1、发送请求,解析html里面的数据 2、保存到csv文件 3、数据处理 4、数据可视化 需要用到的库: 注意:后续用到分词库jieba以及词频统计库nltk    解释器: python  3.10.5 编辑器:VsCode -jupyter-notebook 使用ipynb文件的扩展名 vscode会提示安装jupyter插件 效果: 注意:使用jieba分词,

    2024年02月07日
    浏览(39)
  • 毕业设计-基于大数据的电影爬取与可视化分析系统-python

    目录 前言 课题背景和意义 实现技术思路 实现效果图样例     📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学

    2024年01月21日
    浏览(66)
  • Python爬取豆瓣电影Top 250,豆瓣电影评分可视化,豆瓣电影评分预测系统

    博主介绍:✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w+、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅 文末获取源码联系 🍅 👇🏻 精彩专栏推荐订阅👇🏻 不然下次找不到哟 2022-2024年最全的计算机软件毕业设计选

    2024年03月21日
    浏览(75)
  • 大数据可视化——基于Python豆瓣电影数据可视化分析

    本项目旨在通过对豆瓣电影数据进行综合分析与可视化展示,构建一个基于Python的大数据可视化系统。通过数据爬取收集、清洗、分析豆瓣电影数据,我们提供了一个全面的电影信息平台,为用户提供深入了解电影产业趋势、影片评价与演员表现的工具。项目的关键步骤包括

    2024年02月04日
    浏览(82)
  • 大数据可视化——基于Python豆瓣电影数据可视化分析系统

    本项目旨在通过对豆瓣电影数据进行综合分析与可视化展示,构建一个基于Python的大数据可视化系统。通过数据爬取收集、清洗、分析豆瓣电影数据,我们提供了一个全面的电影信息平台,为用户提供深入了解电影产业趋势、影片评价与演员表现的工具。项目的关键步骤包括

    2024年01月21日
    浏览(59)
  • 基于python大数据的电影可视化分析及电影推荐

    随着信息技术和互联网技术的快速发展,利用数据采集技术实现用户感兴趣的数据收集分析成为很多互联网公司研究讨论的热门话题。通过对基于Python的大数据的电影可视化分析与电影推荐,采集进行电影热度动态变化的需求进行调查分析,发现作为研究电影热度波动变化的

    2023年04月23日
    浏览(63)
  • 大数据可视化项目—基于Python豆瓣电影数据可视化分析系统的设计与实现

    本项目旨在通过对豆瓣电影数据进行综合分析与可视化展示,构建一个基于Python的大数据可视化系统。通过数据爬取收集、清洗、分析豆瓣电影数据,我们提供了一个全面的电影信息平台,为用户提供深入了解电影产业趋势、影片评价与演员表现的工具。项目的关键步骤包括

    2024年02月04日
    浏览(57)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包