python爬虫之playWright解密传参

参考文章:

Python和js实现逆向之加密参数破解_js btoa python_biyezuopinvip的博客-CSDN博客

JS逆向——借助playwright实现逆向_lishuangbo0123的博客-CSDN博客

简单方便的 JavaScript 逆向辅助模拟方法_token

自己整理的代码
from playwright.sync_api import sync_playwright
import time
import requestsdef get_token1(offset):result = page.evaluate('''()=>{return window.encrypt("%s","%s")}''' % ( '/api/movie', offset))#print(result)return resultdef get_token(params):result = page.evaluate('()=>{return window.encrypt("%s")}' % params)print(result)return resultBASE_URL = 'https://spa6.scrape.center'
INDEX_URL = BASE_URL + '/api/movie?limit={limit}&offset={offset}&token={token}'
MAX_PAGE = 2LIMIT = 10browser = sync_playwright().start().chromium.launch()
page = browser.new_page()page.route('**/js/chunk-19c920f8.c3a1129d.js', lambda route: route.fulfill(path='./chunk.js'))#print(BASE_URL)page.goto(BASE_URL)
#page.wait_for_load_state('networkidle')
print(page.title())headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/95.0.4638.69 Safari/537.36','Connection':'keep-alive',#'sec-ch-ua':'"Chromium";v="21", " Not;A Brand";v="99"','Accept':'application/json, text/plain, */*','sec-ch-ua-mobile':'?0',#'sec-ch-ua-platform':'"Windows"','Sec-Fetch-Site':'same-origin','Sec-Fetch-Mode':'cors','Sec-Fetch-Dest':'empty','Referer':'https://spa6.scrape.center/','Host':'spa6.scrape.center','Accept-Language':'zh-CN,zh;q=0.9'
}for i in range(MAX_PAGE):offset = i * LIMITtoken = get_token(offset)index_url = INDEX_URL.format(limit=LIMIT, offset=offset, token=token)print(index_url)#response = requests.get(index_url)response = requests.get(index_url, headers=headers)print( 'response', response.json)#print(response)
结果

然并卵,虽然解密了,但是还是不行。不能返回json。response 还是被服务器返回401认证信息,看上去解密出来的token不被服务器识别。试了2个文章中的get_token1(),get_token(),都不行。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/18370.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

自定义设置echarts label里的颜色

自定义echarts label里的颜色 option {xAxis: {type: category,data: [Mon, Tue, Wed, Thu, Fri, Sat, Sun]},yAxis: {type: value},series: [{data: [120, 200, 150, 80, 70, 110, 130],type: bar,label:{show: true,formatter: function (params){console.log(params)if (pa…

使用 ActiveReportsJS 在线查看学生进度报告

ActiveReportsJS在线查看学生进度报告的能力为家长和教育工作者带来了许多好处。在线访问为家长和学生提供了对学生学习成绩的实时洞察,使他们能够随时了解情况并参与教育。他们可以轻松跟踪进度、监控出勤情况、查看成绩并确定可能需要额外支持的领域。 对于教育工…

wpf border控件和Effect学习

Border(边框)控件绘制一个边框、一个背景。 常用的属性, Background:填充 Border 边界之间的区域或者说是绘制该区域的背景,是一个Brush对象。 BorderBrush:用于绘制外部边框颜色,是Bru…

设计模式——命令模式

命令模式 定义 将一个请求封装成一个对象,从而让你使用不同的请求吧客户端参数化,对请求排队或者记录请求日志,可以提供命令的撤销和恢复功能。 命令模式是一个高内聚的模式。 优缺点、应用场景 优点 类间解耦。调用者与接收者之间没有任…

使用OpenCV的viz模块创建和控制一个3D可视化窗口

#include <opencv2/viz.hpp> #include <iostream>using namespace cv; using namespace std;int main() {

821. 跳台阶

链接&#xff1a; 821. 跳台阶 - AcWing题库 题目&#xff1a; 一个楼梯共有 nn 级台阶&#xff0c;每次可以走一级或者两级&#xff0c;问从第 00 级台阶走到第 nn 级台阶一共有多少种方案。 输入格式 共一行&#xff0c;包含一个整数 nn。 输出格式 共一行&#xff0c;包含一…

【Linux】ELK 企业级日志分析系统

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 ELK 企业级日志分析系统 ELK 概述1、ELK 简介2、为什么要使用 ELK3、完整日志系统基本特征4、ELK 的工作原理 ELK Elasticsearch 集群部署&#xff08;在Node1、Node2节点上操…

Filebeat+ELK (grok、mutate、mutiline、date)详解

目录 一&#xff1a;FilebeatELK 部署 1&#xff0e;安装 Filebeat 2&#xff0e;设置 filebeat 的主配置文件 3.在 Logstash 组件所在节点上新建一个 Logstash 配置文件 4.访问登录 二&#xff1a;grok 正则捕获插件 1、内置正则表达式调用 2、举例说明 3、自定义表达式…

单元测试与端到端测试——主要区别

目录 前言&#xff1a; 什么是单元测试&#xff1f; 单元测试生命周期 单元测试的好处 那么它有什么好处呢&#xff1f; 单元测试示例 单元测试的类型 单元测试工具 什么是端到端测试&#xff1f; 端到端测试 端到端测试的主要好处是什么&#xff1f; 端到端测试示…

统计年,月,日,java补充无的数据

需求&#xff1a;营收趋势图。需要按年&#xff0c;按月&#xff0c;按日。按年&#xff0c;后方选择日历 起始年-结束年。例如start2013 end 2023 按月&#xff0c;后方选择月份 起始月-结束月。例如start 2022-10 end 2023-07。 按日&#xff0c;后方选择日 起始日-结束日。例…

学术英语UNIT1~UNIT4知识点总结

目录 UNIT 1 1.Deciding on topic --AMI 2.Writing a working title 3.Literacy Skills--Avoiding plagiarism 4.Literacy Skills--citation and referring skills 5.Literacy Skills--quoting 6.Literacy Skills--summarizing UNIT2 1.Academic Writing -searching…

Linux - CentOS 二进制安装 MySQL 8.0.31(非常实用)

一、下载 mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz 下载地址&#xff1a;MySQL :: Download MySQL Community Server (Archived Versions) 具体如下图所示&#xff1a; 二、将 mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz 放入到服务器的 /usr/local &#xff08;路径可…