央视频刷播放量
央视频链接注意点:央视频在浏览器打开不了其他视频,因为只有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=BV1XA411779D
jsonp,解决浏览器同源策略引发的跨域。
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 pycryptodome
AES加密(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号