某眼实时票房接口获取
- 前言
-
- 解决方案
-
- 1.找到veri.js
- 2.找到signKey所在位置
- 3.分析它所处的这个函数的内容
- 4.index参数的获取
- 5.signKey参数的获取
- 运行结果
- 关键代码
- 另一种思路
票房接口:https://piaofang.maoyan.com/dashboard-ajax
https://piaofang.maoyan.com/dashboard 实时票房或者影视热度信息展板
网站“猫眼专业版-实时票房”(https://piaofang.maoyan.com/dashboard)是一个提供电影票房数据分析服务的专业平台。它主要面向电影从业者,提供及时、专业的数据分析,帮助他们更好地了解市场动态和观众喜好。
该网站提供的主要功能和服务包括:
实时票房:提供每日电影的实时票房数据,让电影从业者能够及时了解各部电影的票房表现。
排片查询:提供电影的排片信息,包括预售排片和实时排片,帮助了解电影的放映安排。
上座率:展示各部电影的上座率情况,这是衡量电影受欢迎程度和市场表现的重要指标。
影片票房趋势:分析和展示电影票房随时间的变化趋势,帮助预测电影的市场表现。
受众画像:提供观众的基本信息和观影偏好,帮助电影从业者更好地定位目标受众。
历史票房:查询电影的历史票房数据,为电影的市场分析和比较提供数据支持。
通过这些服务,电影制作公司、发行商、影院管理者以及其他电影行业从业者可以更好地制定策略、优化资源分配,并进行市场分析和决策。猫眼专业版作为一个行业工具,对于电影行业的各个方面都具有重要的参考价值。
前言
当我们想根据某眼的接口获取票房信息的时候,发现它的接口处的参数是加密的,如下图:
红色框框的参数都是动态变化的,且signKey明显是加密的一个参数。对于这种加密的参数,我们需要从它们的js文件中找到加密方式,因此我们需要找到signKey所在的位置。
这也是可以预见的,毕竟这个网站是实时更新的,每次更新的实际就是数据。
有意思的是,猫眼的web开发还是比较正规的,看js文件的写法就知道了,下面是一个节日的js,十分有意思,且工程性也体现在代码的编写中。
(function anonymous() {
return function(exports, require, module) {
"use strict";
function _interopRequireDefault(r) {
return r && r.__esModule ? r : {
default: r
}
}
function festival(r, a, e) {
var u = _solarlunar2.default.solar2lunar(r, a, e)
, l = _solarlunar2.default.lunar2solar(r, 1, 0)
, s = lunarMap[u.monthCn + u.dayCn]
, o = solarMap[a + "_" + e]
, t = [];
return u.isToday && t.push("今天"),
l.cMonth === a && l.cDay === e && t.push("除夕"),
"清明" === u.term && t.push("清明"),
s && t.push(s),
o && t.push(o),
t[0] ? t[0] : ""
}
Object.defineProperty(exports, "__esModule", {
value: !0
}),
exports.default = festival;
var _solarlunar = require("../vendor/solarlunar.js")
, _solarlunar2 = _interopRequireDefault(_solarlunar)
, lunarMap = {
"正月初一": "春节",
"正月十五": "元宵节",
"五月初五": "端午节",
"七月初七": "七夕",
"八月十五": "中秋节"
}
, solarMap = {
"1_1": "元旦",
"2_14": "情人节",
"5_1": "劳动节",
"6_1": "儿童节",