当前位置:首页 > 技术杂坛 > 正文内容

python运行js代码的几种方式:subprocess、execjs

zhangchap2年前 (2021-11-23)技术杂坛349

一、subprocess 模块


import subprocess
ret = subprocess.check_output(['node','youdao.js'])
print(type(ret),ret)

#<class 'bytes'> b"___rl__test__cookies=1637655216598;OUTFOX_SEARCH_USER_ID_NCOO=1460134891.3288116;expires=Thu, 23 Nov 2023 08:13:36 GMT;path=/;domain=.youdao.com\nundefined\n{\n  ts: '1637655216608',\n  bv: '4f7ca50d9eda878f3f40fb696cce4d6d',\n  salt: '16376552166089',\n  sign: '42dabd5917af782bad3afba21ced5144'\n}\n4f7ca50d9eda878f3f40fb696cce4d6d\n"



二、execjs 模块

import execjs
import os
# 指定js运行环境
os.environ['EXECJS_RUNTTIME'] = "Node"

# 1. 读取js文件的内容
with open('youdao.js',encoding='utf-8') as fd:
   jscontent = fd.read()
# 2. 编译js代码
context = execjs.compile(jscontent)
# 3. 调用要执行的函数
r = context.call('query')
print(r)
# {'ts': '1637655581710', 'bv': '4f7ca50d9eda878f3f40fb696cce4d6d', 'salt': '16376555817108', 'sign': 'c63a0191ba89dab00dd03d321f9c9bde'}


分享给朋友:

相关文章

iis7 php 500错误的解决方法

iis7 php 500错误的解决方法

用WordPress+iis7+php5.6 做了个奇闻网站(好吧,我承认这个不是最佳组合),一直困扰我的是服务器500错误问题。 是因为文字图片过多,图片远程下载程序执行的时间过长...

cetons7开启BBR

Google 在 2016年9月份开源了他们的优化网络拥堵算法BBR,最新版本的 Linux内核(4.9-rc8)中已经集成了该算法。 对于TCP单边加速,并非所有人都很熟悉,不过有另外一个...

宝塔一个站点如何绑定多个域名ssl证书?

宝塔一个站点如何绑定多个域名ssl证书?

1.如果网站不是自适应 2.程序不会在访问的时候自动判断客户端,返回不同的内容。(js跳转的不在这个范围内) 现在一个站点往往绑定至少两个域名,pc、m各一个,甚至频道有二级域名的话,那...

python 获取当前的路径并切换

import os curdir = os.path.dirname(__file__) #获取当前的路径,若运行在当前文件夹,是获取不到当前路径的,最保险的...

python jieba分词自定义分词器及自定义词典

import jieba jieba.initialize() # 自定义分词器的写法 n_c = jieba.Tokenizer(dictionary=...

python判断当前系统为win还是Linux

使用sys模块进行判断,以便启用在win平台下不支持的代码:import sys p = sys.platform if p != &#...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。