首页 > 编程语言 >爬虫js逆向(python调用js学习)

爬虫js逆向(python调用js学习)

时间:2024-04-24 09:01:49浏览次数:30  
标签:aa python execjs JavaScript 爬虫 js call data

首先介绍pyexecjs的使用

PyExecJs 是一个python 库,用于在 Python 环境中执行javaScript代码。它实际上是对 Execs 库的 Python 封装,Execls 本身是一个通用的 JavaScript 运行环境的抽象层。
使用PyExecJs,你可以在Python 中执行JavaScript代码,而无需启动一个完整的JavaScript 解释器。它的目标是提供一种简便的方式,使得在 Python 中嵌入JavaScript 代码成为可能,

特别是对于需要与JavaScript 交互的项目而言。
git地址:https://github.com/doloopwhile/PyExecJS。
安装方式:
1 pip install PyExecJS

 引入execjs包

import execjs

#查看自己使用环境 引擎 需要安装node--Node.js (V8) 是正确的
print(execjs.get())

#写一段js代码
js_data = """
function aa(){
return 123;
}
"""

#compile  编译对应的js代码
ctx = execjs.compile(js_data)

#1、call执行js代码
print(ctx.call("aa"))

 



#带参执行
js_data_1 = """
function aa(a,b){
return a+b;
}
"""
js = execjs.compile(js_data_1)
#call执行带参js代码
print(js.call("aa",1,3))

 


#调用js文件
写一个js文件

 

#调用js文件,通过读取文件方式将js文件读取
with open('01-基础js.js',encoding='UTF-8') as f:
js_data_2 = f.read()

js = execjs.compile(js_data_2)

print(js.call('aa'))

 

标签:aa,python,execjs,JavaScript,爬虫,js,call,data
From: https://www.cnblogs.com/goldball/p/18154261

相关文章

  • 20231325 贾罗祁 实验三《Python程序设计》实验报告
    20231325贾罗祁2023-2024-2《Python程序设计》实验三报告课程:《Python程序设计》班级:2313姓名:贾罗祁学号:20231325实验教师:王志强实验日期:2024年4月17日必修/选修:公选课1.实验内容创建服务端和客户端,服务端在特定端口监听多个客户请求。客户端和服务端通过Socket套......
  • 用微软商店商店安装 Python
    在安装Python时,除了在官网www.python.org下载,还可以用微软商店下载安装完成后,其目录位于C:\Users\<用户名>\AppData\Local\Microsoft\WindowsApps中,这个位置通常已经被添加好了环境变量,所以可以直接启动python。但是,使用pip安装的工具的Script目录下,我们还要把script......
  • 股票数据爬虫
    东方财富网-数据中心——爬虫项目0x00起因MaMa看到别人有个软件,可以直接把一个网站上的数据全部爬进一个Excel里边,但是那个人不给这个软件,所以她怂恿我写一个。。。0x01需求千股千评_数据中心_东方财富网(eastmoney.com)对于里边的00~60开头的股票,把股票代码、涨......
  • 【实用技巧】JSON格式转换方式
    1 前言对接开发中,常遇到的就是报文转换。比如从淘宝或者京东拉取订单,亦或是各个公司内部的WMS、OMS等交互,都涉及到格式转换。而大多的格式基本上都是JSON格式,当然也有一些老的SAP交互用的是XML格式的,还有一小部分webService接口也是用的XML格式。那我们这节就看看JSON......
  • python爬虫—学习笔记-4
    课堂内容:删除原导出文件的venv,pycham打开此文夹,重新创建本地虚拟编译器。安装依赖库,打开pycham终端输入pipinstall-ryilaiku.txt,安装依赖库中的库。继续安装bs4、lxml库,命令为:pipinstallbs4和pipinstalllxml。安装好后,pycham来到spiders目录下,新建Python......
  • Python字符串过滤器:正则表达式Regular Expression
    一、什么是正则表达式正则表达式是按照正确的既定规则、一种全语言类型Python、Java、JavaScript、PHP通用的表达式。用途:(1)根据规则抓取数据:配合爬虫、根据规则在文本中提取数据(2)根据规则验证数据:验证手机号、验证邮箱、验证身份证二、如何在Python中使用正则表达式在Python......
  • 在 Python 中的contains
    点击查看代码在Python中,contains通常是指检查一个元素是否存在于某个数据结构(如列表、元组、字符串、集合等)中。然而,Python中并没有一个名为contains的内置函数。相反,我们使用in关键字来实现类似的功能。以下是一些使用in关键字检查元素是否存在于不同数据结构中的......
  • Python 函数和变量作用域
    变量引用顺序Python引用变量的顺序:当前作用域局部变量->外层作用域变量->当前模块中的全局变量->Python内置变量。1、globalglobal关键字用来在函数或其他局部作用域中使用全局变量,如果不对全局变量进行修改,那么可以不使用global关键字;如果想要在函数或局部作用域中对全局变......
  • Fastjson的toString链分析
    前言之前分析过Fastjson的getter链,忽略了toString链,现在补上,最终也是任意调用getter攻击测试packageorg.example;importcom.alibaba.fastjson.JSONObject;importcom.sun.org.apache.xalan.internal.xsltc.runtime.AbstractTranslet;importcom.sun.org.apache.xalan.inte......
  • 用Python程序如何捕获Ctrl+C终止信号?
    对于一些连续运行或者长时间运行的Python程序而言,如服务器的后端,或者是长时间运行的科学计算程序。当我们涉及到一些中途退出的操作时,比如使用Ctrl+C来退出正在运行的程序。这种场景的出现一般有两个可能性:一是程序出现了问题,需要终止程序来对其进行调整。另一种是程序本身是正......