央视频刷播放量
央视频链接注意点:央视频在浏览器打开不了其他视频,因为只有APP端而没有网页端,需要自己在app端找到指定视频,通过分享连接的形式获取到web连接。
1.前置知识点
1.1 字符串转字典方法
字符串转字典方法一:
# info = "{'code':123,'msg':999}" # 这种格式使用 json.loads 转换会失败,需要将里面换成双引号。
info = '{"code":123,"msg":999}'
import json
data_dict = json.loads(info)
print(data_dict, type(data_dict))字符串转字典方法二(推荐)
info = "{'code':123,'msg':999}"
result = eval(info)
print(result, type(result))1.2 JSONP
json
https://api.bilibili.com/x/player/pagelist?bvid=BV1XA411779Djsonp,解决浏览器同源策略引发的跨域。
http://www.jxntv.cn/data/jmd-jxtv2.html?callback=list&_=1454376870403如果你想某个站发送请求,获取JSONP格式,你会怎么办?
(1)切片+序列化
(2)replace
(3)eval内置函数对数据进行编译(当成代码来编译)
def xxxxxx(info):
    print(type(info), info)
v1 = 'xxxxxx( {"code":0,"message":"0","ttl":1} )'
eval(v1)
1.3 AES加密
pip install pycryptodomeAES加密(key和iv => utf-8 => 字节处理)
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad
def aes_encrypt(data_string):
    data = data_string.encode("utf-8")
    key = "fd6b639dbcff0c2a1b03b389ec763c4b".encode('utf-8')
    iv = "77b07a672d57d64c".encode('utf-8')
    aes = AES.new(
        key=key,
        iv=iv,
        mode=AES.MODE_CBC,
    )
    raw = pad(data, 16)
    return aes.encrypt(raw)
data = "|878975262|d000035rirv|1631615607|mg3c3b04ba|1.3.5|ktjwlm89_to920weqpg|433070"
result = aes_encrypt(data)
print(result)
AES加密(十六进制字节处理)
import binascii
v1 = "4E2918885FD98109869D14E0231A0BF4"
"""
bs = bytearray() # []
for i in range(0, len(v1), 2):
    item_hex = v1[i:i + 2]
    item_int = int(item_hex, base=16)
    bs.append(item_int)
v3 = bytes(bs)
print(v3) # b'N)\x18\x88_\xd9\x81\t\x86\x9d\x14\xe0#\x1a\x0b\xf4'
"""
v3 = binascii.a2b_hex(v1)
print(v3) # b'N)\x18\x88_\xd9\x81\t\x86\x9d\x14\xe0#\x1a\x0b\xf4'
from Crypto.Cipher import AES
from Crypto.Util.Padding import pad
import binascii
def aes_encrypt(data_string):
    key_string = "4E2918885FD98109869D14E0231A0BF4"
    key = binascii.a2b_hex(key_string)
    iv_string = "16B17E519DDD0CE5B79D7A63A4DD801C"
    iv = binascii.a2b_hex(iv_string)
    aes = AES.new(
        key=key,
        mode=AES.MODE_CBC,
        iv=iv
    )
    raw = pad(data_string.encode('utf-8'), 16)
    aes_bytes = aes.encrypt(raw)
    return binascii.b2a_hex(aes_bytes).decode().upper()
data = "|878975262|d000035rirv|1631615607|mg3c3b04ba|1.3.5|ktjwlm89_to920weqpg|4330701|https://w.yangshipin.cn/|mozilla/5.0 (macintosh; ||Mozilla|Netscape|MacIntel|"
result = aes_encrypt(data)
print(result)
2.抓包
- 
打开app 
- 
找到一个视频,分享:链接 
- 
发到自己微信,点击浏览器跳转 
 
                    
                     
                    
                 
                    
                 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号