如何使utid(cna)有效,解析 https://log.mmstat.com/eg.js

我在上篇博客记录了批量抓取接口数据的一些解析,详情:https://blog.youkuaiyun.com/s_kangkang_A/article/details/116267728

还分析了从  https://log.mmstat.com/eg.js  获取的utid(cna)不可用并做了测试

也提出来解决办法,使用隧道代理和selenium+chromedriver的方式获取utid(cna)做一个支撑抓取的数据库表

但是,从 https://log.mmstat.com/eg.js 获取的utid(cna)真的不可用吗

在发表上篇博客之后,我偶然运行了一次脚本,用的正是那个从 https://log.mmstat.com/eg.js 获取的,不可用的,测试了拿不到数据的utid(cna)

但结果却发生了变化,数据正常返回了

这是为啥,为什么当时测试没有返回,不经意再次使用就可以了,明明代码什么的都没改变。

等等,到这里,是不是明白了什么,明明代码什么的都没变,那失败和成功之间的变量是什么?没错,是 时间 ,唯一改变的就是时间

也就是说,在一定时间后,utid(cna)变得可用了。于是我做了测试,代码如下:

import base64
import hashlib
import json
import re
import time
import requests
import urllib3

urllib3.disable_warnings()


def get_data(url, utid):
    """‘’
    生成data参数
    :param url: 视频地址
    :return:
    """
    # 从连接中获取vid
    vid = url.split('id_')[-1].split('.')[0]
    # 获取部分url用于生成加密参数
    url_ = url.split('//')[-1].split('?')[0]
    # base64 加密
    emb = base64.b64encode(("809715843" + url_).encode('utf-8')).decode('utf-8')
    data = {"biz_params": {"vid": vid},
            "ad_params": {
                "atm": "",
                "aw": "w",
                "bt": "pc",
                "d": "0&
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值