HTML应用指南:利用GET请求获取猫眼电影日票房信息——以哪吒2为例

2025年春节档期,国产动画电影《哪吒之魔童闹海》(以下简称《哪吒2》)以颠覆性的叙事风格与工业化制作水准震撼登场,不仅刷新了中国动画电影的票房纪录,更成为全球影史现象级作品。影片凭借春节档期的爆发式开局、持续50天的"长尾效应"以及对全年龄段观众的广泛吸引力,创造了票房奇迹,以超150亿总票房刷新国产动画纪录,并且有望冲击全球影史前五,此次票房表现不仅标志着国产动画电影工业化进程的里程碑,更折射出中国电影市场消费结构的深刻变革:从"低幼向"到"全年龄化"的内容升级、从"本土市场依赖"到"全球影响力"的探索,以及从"单片成功"到"IP宇宙构建"的战略转型。

本篇文章基于影片上映期间(2025年1月29日至3月31日,包含猫眼预测数据)的 日综合票房数据,对2025年春节档期上映的国产动画电影《哪吒之魔童闹海》进行了深度剖析,全面探究了影片票房趋势背后的数据特征、用户画像数据特征以及票房区域分布情况等多方面特性。

我们基于猫眼官网的票房数据进行分析:票房明细

我们第一步先找到门店数据的存储位置,然后看3个关键部分标头、 负载、 预览;

**标头:**通常包括URL的连接,也就是目标资源的位置;

**负载:**对于GET请求:负载通常包含了传递的参数,有些网页负载可能为空,或者没有负载,因为所有参数都通过URL传递;

**预览:**指的是对响应内容的快速查看或摘要显示,可以帮助用户快速了解返回的数据结构或内容片段;

**第一步:**我们先找到对应数据存储位置,获取所有电影票房信息列表;

**第二步:**利用GET请求获取当前电影日票房列表,并根据标签进行保存,另存为csv;

完整代码#运行环境 Python 3.11

python 复制代码
import requests
import csv


def fetch_movie_data():
    url = "https://piaofang.maoyan.com/i/api/movie/getBoxShow?movieId=1294273&boxLevel=1&WuKongReady=h5"

    try:
        # 发送GET请求
        response = requests.get(url)
        response.raise_for_status()  # 检查请求是否成功

        # 解析JSON数据
        data = response.json()

        # 提取所有的showDate和boxDesc
        results = []
        if 'data' in data and 'boxDatas' in data['data']:
            for item in data['data']['boxDatas']:
                for entry in item:  # 遍历每个条目
                    show_date = entry.get("showDate")
                    box_desc = entry.get("boxDesc")
                    results.append((show_date, box_desc))

        return results

    except Exception as e:
        print(f"发生错误: {e}")
        return []


def save_to_csv(data, filename='movie_data.csv'):
    # 保存数据到CSV文件
    with open(filename, mode='w', newline='', encoding='utf-8') as file:
        writer = csv.writer(file)
        writer.writerow(['showDate', 'boxDesc'])  # 写入表头
        writer.writerows(data)  # 写入数据


if __name__ == "__main__":
    results = fetch_movie_data()

    if results:
        print("所有日期和综合票房:")
        for show_date, box_desc in results:
            print(f"日期 (showDate): {show_date}, 综合票房 (boxDesc): {box_desc}")

        # 保存到CSV文件
        save_to_csv(results)
        print("数据已保存到 movie_data.csv")
    else:
        print("未能提取数据。")

tips:1、如果需要调整为其他电影的数据,只需要替换电影的movie_id即可,2、如果要增加其他数据类型的话可以自行增加关键词,这里脚本运行结束会生成一个movie_data.csv的文件,再把数据进行可视化分析;

我们来分析票房背后的数据特征:

  • 春节档期爆发(1月29日-2月9日) :首日票房4.88亿,随后持续攀升至2月4日(大年初四)的峰值 8.67亿,刷新国产动画单日票房纪录。春节假期(1月31日-2月5日)贡献75.3%的总票房,日均票房超7亿,远超《流浪地球2》《唐探1900》等同档影片。
  • 节后波动与长尾效应(2月10日-3月30日):节后票房经历多轮波动,情人节(2月14日)因情侣观影需求短暂回升至5.8亿,但随后因《疾速追杀4》等新片冲击加速下滑。即便如此,影片在上映46天后(3月15日)仍保持7,309万的日票房,长尾效应显著,远超《战狼2》《流浪地球2》等影片的衰减速度。至3月30日密钥到期,日票房仍达24万,成为国产动画长尾表现的标杆。
  • 影片票房表现与周末效应高度关联 ,周末(周六、周日)的票房贡献显著高于工作日,成为票房增长的关键节点。从上映至下映的52天周期中,周末日均票房达 3.2亿 ,是工作日(0.8亿)的 4倍,且多个周末出现票房峰值,凸显观众观影习惯与影院排片策略的双重影响,周末与节假日是家庭观影、朋友聚会的集中时段,尤其适合动画电影的合家欢属性。

接下来,我们来看一下上映五十天后的累计票房,数据尺度可以到市级,这里我们通过以市级尺度进行可视化,获取的逻辑一致,找到数据存储位置,利用get请求获取html,并检索关键词"name"、"sumboxinfo",因为一页有30条的输出限制,我们先观察翻页的特征,可以看到offset值每次是发生变化的,每次递增值为30,同时我们把页面拉到底部,可以看到最大值为1050,所以我们使用for offset in range(0, 1051, 30)函数来生成从0到1050的offset值,每次递增30,使用循环来发送多个请求并将结果存储到CSV文件中;

**第三步:**利用GET请求获取当前电影在各市的票房情况列表,并根据标签进行保存,另存为csv;

完整代码#运行环境 Python 3.11

python 复制代码
import requests
import csv


def fetch_movie_data(offset):
    url = "https://piaofang.maoyan.com/i/api/movie/boxsum/getBoxsumList"

    # 定义负载参数
    params = {
        'date': '2025-03-20',
        'movieId': 1294273,
        'boxLevel': 4,
        'sortField': 'box',
        'isAllBox': 'false',
        'boxScope': 0,
        'limit': 30,
        'offset': offset,
        'WuKongReady': 'h5'
    }

    try:
        # 发送GET请求,带上参数
        response = requests.get(url, params=params)
        response.raise_for_status()  # 检查请求是否成功

        # 解析JSON数据
        data = response.json()

        # 提取所有的sumBoxInfo和name
        results = []
        if 'data' in data and 'data' in data['data'] and 'detailList' in data['data']['data']:
            for item in data['data']['data']['detailList']:
                name = item.get("name")  # 获取名称
                sum_box_info = item.get("sumBoxInfo")  # 获取综合票房信息
                results.append((name, sum_box_info))

        return results

    except Exception as e:
        print(f"发生错误: {e}")
        return []


def save_to_csv(data, filename='movie_data.csv'):
    # 保存数据到CSV文件
    with open(filename, mode='w', newline='', encoding='utf-8') as file:
        writer = csv.writer(file)
        writer.writerow(['Name', 'Sum Box Info'])  # 写入表头
        writer.writerows(data)  # 写入数据


if __name__ == "__main__":
    all_results = []

    # 从0开始,offset每次增加30,直到最大为1050
    for offset in range(0, 1051, 30):
        print(f"Fetching data with offset: {offset}")
        results = fetch_movie_data(offset)
        all_results.extend(results)  # 将结果添加到总结果中

    if all_results:
        print("所有名称和综合票房:")
        for name, sum_box_info in all_results:
            print(f"名称: {name}, 综合票房: {sum_box_info}")

        # 保存到CSV文件
        save_to_csv(all_results)
        print("数据已保存到 movie_data.csv")
    else:
        print("未能提取数据。")

这里脚本运行结束会生成一个movie_data.csv的文件,我们把获取的各省市票房数据进行可视化,其中,港澳台地区没有数据;

高票房区域:东部沿海与部分中部地区

在票房贡献方面,东部沿海地区无疑是《哪吒之魔童闹海》的最大市场。广东省以16.57亿的票房成绩位居榜首,江苏省和浙江省分别以9.4亿和9.06亿紧随其后。上海作为直辖市,也取得了4.71亿的优异成绩。这些地区的共同特点是人口密集、经济发达且文化娱乐活动丰富,为电影提供了庞大的潜在观众群体。此外,河南和湖北两省的表现也不容小觑,分别为9.06亿和6.12亿,显示了中部地区对国产动画电影的强烈需求。

中等票房区域:华北及部分西部地区

华北地区的北京和天津分别取得了5.15亿和1.92亿的票房成绩,其中北京作为文化中心,观影氛围浓厚,票房表现突出。河北、山西等地虽然票房相对较低,但仍然保持了一定水平,这与当地的人口基数和经济发展状况密切相关。与此同时,西部地区的四川以9.56亿的票房成为该区域的领头羊,显示出强大的消费能力和对高质量内容的需求。重庆、陕西等地也有不错的表现,但整体上西部地区的票房贡献相对较低。

低票房区域:东北及边远地区

相比之下,东北三省以及一些边远地区如内蒙古、西藏、青海等地的票房表现较为平淡。辽宁、吉林、黑龙江的票房分别为4.02亿、1.78亿和1.84亿,反映出这些地区由于人口外流和影院数量较少等原因,导致票房增长受限。而西藏、青海等边远地区则因地理位置偏远、人口稀少等因素,票房贡献最低,仅为0.14579亿和0.52899亿。

影响因素分析

从上述票房分布来看,《哪吒之魔童闹海》的成功主要得益于几大关键因素:首先,高票房区域通常具备较大的人口基数和较高的居民消费能力,使得这些地区能够为电影提供充足的观众来源;其次,影院的数量和分布也是影响票房的重要因素,尤其是在人口密集的城市和地区,更多的影院意味着更高的排片量和更便捷的观影条件;最后,文化氛围和社会习惯同样不可忽视,东部沿海地区普遍具有较强的观影习惯和对国产动画电影的支持力度,这也是促成高票房的重要原因之一。

我们再来看看《哪吒之魔童闹海》的用户画像,看看可以得到哪些结论;

1. 性别分布

  • 女性观众(64.7%)

    影片对女性观众的吸引力可能源于其情感内核与角色塑造。电影围绕哪吒的成长与自我救赎展开,探讨家庭、责任、自我认同等主题,尤其是亲情互动与情感冲突的细腻刻画,容易引发女性观众的情感共鸣67。此外,敖丙与哪吒的"双男主"设定及人物关系的复杂性,也可能吸引女性群体的关注;

  • 男性观众(35.3%)

    尽管比例较低,但影片中的动作场面、特效表现以及"我命由我不由天"的热血精神,仍吸引了部分男性观众。尤其是影片的魔幻战斗场景和视觉奇观,展现了高水准的动画技术,符合男性观众对动作片的偏好;

**2.**三四线城市成春节档票房主力

  • 春节人口回流效应:大量在一线城市工作的年轻人在春节期间返乡,带动了四线城市的消费热潮。这部分人群已形成稳定的观影习惯,返乡后成为四线城市票房的主力军。例如,2025年春节档期间,三四线城市的票房悬殊度(春节档票房占比与平日对比)显著为正,而一线城市则因人口外流票房下降明显;

  • 影院数量激增:2014-2021年,四线城市影院数量增长170.5%,覆盖率达全国影院的33.5%。乡镇影院的普及(如横店影视70%的影院布局在三四五线城市)为观影提供了基础设施;

  • 政策补贴与成本优势:政府对乡镇影院建设提供资金补贴(如广东省每厅补贴40万元),且三四线城市影院运营成本(租金、人力等)显著低于一线城市,吸引院线下沉布局;

  • 票价溢价现象:春节期间四线城市因需求激增导致票价上涨。例如,河南信阳春节档票价较平日上涨87.9%,甚至超过北京票价,但观众仍愿为有限的娱乐选择买单;

  • 消费能力提升:三四线城市居民收入增长、年轻人才回流,带动文化消费升级。例如,2025年义乌、徐州等下沉市场的线下消费人流量达到一线城市的4-5倍。

文章仅用于分享个人学习成果与个人存档之用,分享知识,如有侵权,请联系作者进行删除。所有信息均基于作者的个人理解和经验,不代表任何官方立场或权威解读。

相关推荐
2301_796982148 分钟前
下面html程序中有什么错误?怎样修改?
前端·javascript·html
技术钱40 分钟前
前端项目打包构建优化
前端
By爱分享44 分钟前
vue使用keep-alive缓存页面状态问题
前端·javascript·vue.js
穆易青1 小时前
2025.03.21【基因分析】| SCENIC:基因网络聚类与可视化工具详解
机器学习·数据挖掘·聚类·clustering·genenetworks·visualisation
韩沛伦1 小时前
React为什么设计Hooks?Hooks解决了什么问题?
前端
Wiktok1 小时前
CSS实现当鼠标悬停在一个元素上时,另一个元素的样式发生变化的效果
前端·css
battlestar2 小时前
Siemens Smart 200 PLC 通讯(基于python-)
前端·网络·python
孔子梦周公2 小时前
tailwind v3 升级 v4
前端
Tonychen2 小时前
【React 源码阅读】useCallback
前端·react.js
我不是迈巴赫2 小时前
项目亮点万金油:自定义SSR水合保护hooks
前端·javascript·react.js