Python逆向爬虫入门教程06: 某电影指数数据加密参数 sign &响应数据 逆向解析
import requests
import execjs
# 目标URL
url = 'https://movie.douban.com/j/chart/top_list'
# 请求头部
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36',
'Referer': 'https://movie.douban.com/chart'
}
# 请求参数
params = {
'type': '24',
'interval_id': '100:90',
'action': '',
'start': '0',
'limit': '20'
}
# 用于解析JavaScript加密的函数
def get_sign(params):
with open('jssdk.js', 'r', encoding='utf-8') as f:
js_content = f.read()
ctx = execjs.compile(js_content)
sign = ctx.call('get_sign', params)
return sign
# 加密参数 'sign'
params['sign'] = get_sign(params)
# 发送请求
response = requests.get(url, headers=headers, params=params)
# 打印响应内容
print(response.json())
这段代码首先定义了目标URL、请求头部和请求参数。然后定义了一个函数get_sign
,用于读取JavaScript文件并调用其中的get_sign
函数来获取加密的sign
参数。接着,将加密后的参数加入到请求参数中,并发送请求。最后打印出响应内容。这个过程展示了如何逆向解析加密参数和响应数据的基本方法。
评论已关闭