python爬虫之playWright解密传参

news2024/11/26 17:40:21
参考文章:

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

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

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

自己整理的代码
from playwright.sync_api import sync_playwright
import time
import requests

def get_token1(offset):
    result = page.evaluate('''()=>{
        return window.encrypt("%s","%s")
    }''' % ( '/api/movie', offset))
    #print(result)
    return result

def get_token(params):
    result = page.evaluate(
        '()=>{return window.encrypt("%s")}' % params)
    print(result)
    return result
        
BASE_URL = 'https://spa6.scrape.center'
INDEX_URL = BASE_URL + '/api/movie?limit={limit}&offset={offset}&token={token}'
MAX_PAGE = 2

LIMIT = 10

browser = 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 * LIMIT
    token = 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)
    
结果

然并卵,虽然解密了,但是还是不行。似乎还是要什么401认证。试了2个文章中的

get_token1(),get_token(),都不行。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数组、指针练习题及解析(含笔试题目讲解)(二)

接上文,我们继续笔试题目讲解。 目录 笔试题3 笔试题4 笔试题5 笔试题6 笔试题7 面试题8 总结 笔试题3 int main() {int a[4] { 1, 2, 3, 4 };int *ptr1 (int *)(&a 1);int *ptr2 (int *)((int)a 1);printf( "%x,%x", ptr1[-1], *ptr2);…

postman 携带时间戳及md5加密预处理

// 获取全局变量 uid postman.getGlobalVariable(“uid”) sid postman.getGlobalVariable(“sid”) //设置当前时间戳 postman.setGlobalVariable(“time”,Math.round(new Date().getTime())); time postman.getGlobalVariable(‘time’) //设置KEY_WORD为全局变量 post…

C# SolidWorks 二次开发 -从零开始创建一个插件(1)

学习内容:从零开始定制一个SolidWorks插件 作为了一个职业的二次开发人员,我曾经创建插件"无数"。但从未像今天这篇文章这样,从空项目开始,之前的文章中我有介绍,要么使用SolidWorks API模板,要么使用了第三…

小马哥JAVA实战营-JDBC

小马哥是一个非常牛逼的技术大牛,最近在看他的课,感兴趣也可以关注一波小马哥(不是引流,是真的很推荐): 小马哥B站 JDBC规范文档 jdbc规范文档下载链接 JDBC的主要特征 面向数据表行列编程驱动程序需要…

《3.linux应用编程和网络编程-第8部分-3.8.网络基础》 3.8.1.网络通信概述 3.8.3.网络通信基础知识2

进程间通信: 管道 、 信号量、 共享内存, 技术多,操作麻烦 线程就是解决 进程间 通信 麻烦的事情,这是线程的 优势 3.8.1.网络通信概述 3.8.1.1、从进程间通信说起:网络域套接字socket,网络通信其实就是位…

2023.7月最新版idea安装Jrebel实现热部署,可解决后端启动等待时间过长问题

2023.7最新版idea热部署配置 一 下载jrebel插件二 激活我使用的方法 三 配置方式1 设置自动编译2 设置 compiler.automake.allow.when.app.running3 勾选项目,然后以Rebel方式启动 4 Settings查看Activation情况四 报错解决1 启动失败 2 端口被占用 五 总结 一 下载…

JS 的 new 到底是干什么的?

大部分讲 new 的文章会从面向对象的思路讲起,但是我始终认为,在解释一个事物的时候,不应该引入另一个更复杂的事物。 今天我从「省代码」的角度来讲 new。 --------------------------- 想象我们在制作一个策略类战争游戏,玩家…

网络编程【网络编程基本概念、 网络通信协议、IP地址 、 TCP协议和UDP协议】(一)-全面详解(学习总结---从入门到深化)

目录 网络编程基本概念 网络通信协议 IP地址 TCP协议和UDP协议 网络编程基本概念 计算机网络 计算机网络是指将地理位置不同的具有独立功能的多台计算机及其 外部设备,通过通信线路连接起来,在网络操作系统,网络管理软 件及网络通信协议的…

echarts图表进度条类型图

1、实现效果 左边是类别、数量,中间类似于进度条,右边是所占百分比 2、实现思路 x轴不显示,y轴的axisLabel用富文本,显示机器与台数;图表有两个数据组,分别用蓝色和灰色表示,两个柱子重合&…

Jmeter beanshell编程实例

目录 1、引言 2、需求 3、BeanShell实现 3.1、原始单元测试的java代码: 3.2、调用的RSAUtil原始方法: 3.3、使用BeanShell预处理器实现报文加密: 库导入部分: JSON报文组装: RSA加密: 3.4、取样器…

【C语言】指针进化:传参与函数(2)

莫道君行早,更有早行人。— 出自《增广贤文上集》 解释:别说你出发的早,还有比你更早的人。 这篇博客我们将会深入的理解数组传参和函数指针等指针,是非常重要的内容,学好这部分才能算真正学懂C语言。 目录 一维数组传…

【网络】socket——预备知识 | 套接字 | UDP网络通信

🐱作者:一只大喵咪1201 🐱专栏:《网络》 🔥格言:你只管努力,剩下的交给时间! 在前面本喵对网络的整体轮廓做了一个大概的介绍,比如分层,协议等等内容&#x…

UFS 14 - UFS RPMB安全读写命令

UFS 14 - UFS RPMB安全读写命令 1 SECURITY PROTOCOL IN/OUT Commands1.1 CDB format of SECURITY PROTOCOL IN/OUT commands1.2 Supported security protocols list description1.3 Certificate data description 2 CDB format of SECURITY PROTOCOL IN/OUT commands demo2.1 …

Spring Boot原理分析(一):项目启动流程、自动装配

文章目录 一、项目启动流程二、SpringBootApplication.java源码解析1.准备工作2.源码3.自定义注解4.组合注解5.注解ComponentScan过滤器 6.注解SpringBootConfigurationConfiguration 7.注解EnableAutoConfiguration(1)Spring手动装配使用XML配置文件使用…

Nerf论文阅读笔记Neuralangelo: High-Fidelity Neural Surface Reconstruction

Neuralangelo:高保真神经表面重建 公众号:AI知识物语;B站暂定;知乎同名 视频入门介绍可以参考 B站——CVPR 2023最新工作!Neuralangelo:高保真Nerf表面重建 https://www.bilibili.com/video/BV1Ju411W7…

杨氏矩阵,字符串左旋,字符串旋转结果题目解析

杨氏矩阵 题目要求:有一个数字矩阵,矩阵的每行从左到右是递增的,矩阵从上到下是递增的,请编写程序在这样的矩阵中查找某个数字是否存在。 示例 分析:我们仔细分析,不难发现,对于杨氏矩阵老说,右上角和左下…

leetcode1020. 飞地的数量

https://leetcode.cn/classic/problems/number-of-enclaves/description/ 给你一个大小为 m x n 的二进制矩阵 grid ,其中 0 表示一个海洋单元格、1 表示一个陆地单元格。 一次 移动 是指从一个陆地单元格走到另一个相邻(上、下、左、右)的…

哈希的应用->位图

ps:左移位并不是向左移动位,而是低数据位向高数据位挪动 位图(主要接口,set(size_t)标识、reset(size_t)取消、test(size_t) 查看 给40亿个不重复的无符号整数,没排过序。给一个无符号整数,如何快速判断一…

做软件测试到底要不要学编程?

乔布斯曾经说过“每个人都应该学习编程,因为它会教你如何思考”,看,乔帮主都觉得所有人都应该学编程,那你说做测试的要不要学?当然要。 作为测试人员,除了上面这个原因,我觉得如果会编程&#x…

Android架构之MVC,MVP,MVVM解析

MVC架构 View:Acitivity(View)、Fragment(View)视图,在android里xml布局转成View后,加载到了Activity/Fragment里了。 Controller:Controller对应着Activity/Fragment,绑定UI,处理各种业务。 Model&#xf…