python使用PyV8执行javascript代码示例分享


Posted in Python onDecember 04, 2013

安装相应的库,我使用的是PyV8

需要注意的是里面写的function函数需要用()括起来

import PyV8
class Test():
    
def js(self):        

 ctxt = PyV8.JSContext()        

 ctxt.enter()               

 func = ctxt.eval('''(function(){return '###'})''')        

 print func()        

 print '213'
if __name__ == '__main__':
     crawler = Test()    

crawler.js()   

输出的结果是:

>>> 
###
213
>>>

向js代码中传递参数的方法

func = ctxt.eval(''' (function(a){return encodeURIComponent(a)})''')
        print func(a)

a是需要传递的参数,encodeURIComponent是js中的一种编码方式

我遇到这个问题是在做爬虫的时候,进行post传值的过程中,一些中文字符被网站的js使用encodeURIComponent进行了编码导致不能提交可识别的代码,所以想到这个办法在python程序中进行编码,之后再传值,就可以很好的解决这个问题

Python 相关文章推荐
PHP webshell检查工具 python实现代码
Sep 15 Python
Python 流程控制实例代码
Sep 25 Python
在Python的web框架中配置app的教程
Apr 30 Python
微信小程序跳一跳游戏 python脚本跳一跳刷高分技巧
Jan 04 Python
Python生成rsa密钥对操作示例
Apr 26 Python
numpy.linspace函数具体使用详解
May 27 Python
python中pip的使用和修改下载源的方法
Jul 08 Python
python查看文件大小和文件夹内容的方法
Jul 08 Python
使用Python制作表情包实现换脸功能
Jul 19 Python
Python Django 封装分页成通用的模块详解
Aug 21 Python
pytorch对梯度进行可视化进行梯度检查教程
Feb 04 Python
python excel和yaml文件的读取封装
Jan 12 Python
python解析xml文件实例分享
Dec 04 #Python
python抓取某汽车网数据解析html存入excel示例
Dec 04 #Python
python共享引用(多个变量引用)示例代码
Dec 04 #Python
python函数返回多个值的示例方法
Dec 04 #Python
python sys模块sys.path使用方法示例
Dec 04 #Python
Python yield使用方法示例
Dec 04 #Python
python函数参数*args**kwargs用法实例
Dec 04 #Python
You might like
php存储过程调用实例代码
2013/02/03 PHP
解析在PHP中使用全局变量的几种方法
2013/06/24 PHP
ThinkPHP中的create方法与自动令牌验证实例教程
2014/08/22 PHP
php几个预定义变量$_SERVER用法小结
2014/11/07 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
2017/01/21 PHP
PHP7如何开启Opcode打造强悍性能详解
2018/05/11 PHP
Nigma vs Liquid BO3 第二场2.14
2021/03/10 DOTA
javascript脚本编程解决考试分数统计问题
2008/10/18 Javascript
jQuery LigerUI 使用教程入门篇
2012/01/18 Javascript
JavaScript截取字符串的Slice、Substring、Substr函数详解和比较
2014/03/20 Javascript
jQuery异步获取json数据方法汇总
2014/12/22 Javascript
学习javascript文件加载优化
2016/02/19 Javascript
JavaScript  cookie 跨域访问之广告推广
2016/04/20 Javascript
最原始的jQuery注册验证方式
2016/10/11 Javascript
AngularJS自定义插件实现网站用户引导功能示例
2016/11/07 Javascript
Bootstrap Modal对话框如何在关闭时触发事件
2016/12/02 Javascript
微信小程序 参数传递实例代码
2017/03/20 Javascript
javascript计算对象长度的方法
2017/10/25 Javascript
vue.js配合$.post从后台获取数据简单demo分享
2018/08/11 Javascript
vue 计算属性和侦听器的使用小结
2021/01/25 Vue.js
[45:59]完美世界DOTA2联赛PWL S2 FTD vs GXR 第二场 11.22
2020/11/24 DOTA
python基础入门学习笔记(Python环境搭建)
2016/01/13 Python
Python实现mysql数据库更新表数据接口的功能
2017/11/19 Python
tensorflow构建BP神经网络的方法
2018/03/12 Python
用python生成与调用cntk模型代码演示方法
2019/08/26 Python
Django框架之中间件MiddleWare的实现
2019/12/30 Python
python实现ssh及sftp功能(实例代码)
2020/03/16 Python
IE支持HTML5的解决方法
2009/10/20 HTML / CSS
HTML5之SVG 2D入门13—svg对决canvas及长处和适用场景分析
2013/01/30 HTML / CSS
什么是Deployment descriptors;都有什么类型的部署描述符
2015/07/28 面试题
党支部综合考察材料
2014/05/19 职场文书
财务管理专业毕业生求职信
2014/06/02 职场文书
小学六一儿童节活动方案
2014/08/27 职场文书
校庆团日活动总结
2014/08/28 职场文书
会计做账心得体会
2016/01/22 职场文书
nginx location 带斜杠【 / 】与不带的区别
2022/04/13 Servers