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 相关文章推荐
Python中subprocess模块用法实例详解
May 20 Python
python实现的简单FTP上传下载文件实例
Jun 30 Python
特征脸(Eigenface)理论基础之PCA主成分分析法
Mar 13 Python
pytorch numpy list类型之间的相互转换实例
Aug 18 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
Aug 20 Python
python numpy存取文件的方式
Apr 01 Python
python matplotlib饼状图参数及用法解析
Nov 04 Python
利用python实现PSO算法优化二元函数
Nov 13 Python
TensorFlow实现自定义Op方式
Feb 04 Python
Python 利用flask搭建一个共享服务器的步骤
Dec 05 Python
Python实现微信表情包炸群功能
Jan 28 Python
解决TensorFlow训练模型及保存数量限制的问题
Mar 03 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+DBM的同学录程序(2)
2006/10/09 PHP
Thinkphp实现MySQL读写分离操作示例
2014/06/25 PHP
Windows7下的php环境配置教程
2015/02/28 PHP
PHP中SESSION的注销与清除
2015/04/16 PHP
PHP针对多用户实现更换头像功能
2016/09/04 PHP
在textarea中显示html页面的javascript代码
2007/04/20 Javascript
Jquery知识点二 jquery下对数组的操作
2011/01/15 Javascript
javascript仿php的print_r函数输出json数据
2013/09/13 Javascript
js清空表单数据的两种方式(遍历+reset)
2014/07/18 Javascript
jQuery实现行文字链接提示效果的方法
2015/03/10 Javascript
jquery 构造函数在表单提交过程中修改数据
2015/05/25 Javascript
javascript下拉列表中显示树形菜单的实现方法
2015/11/17 Javascript
JavaScript实现职责链模式概述
2018/01/25 Javascript
Vuejs 单文件组件实例详解
2018/02/09 Javascript
vue slots 组件的组合/分发实例
2018/09/06 Javascript
vue 优化CDN加速的方法示例
2018/09/19 Javascript
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
vue router 跳转时打开新页面的示例方法
2019/07/28 Javascript
Js图片点击切换轮播实现代码
2020/07/27 Javascript
[49:08]FNATIC vs Infamous 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
python网页请求urllib2模块简单封装代码
2014/02/07 Python
Pycharm 创建 Django admin 用户名和密码的实例
2018/05/30 Python
python查询文件夹下excel的sheet名代码实例
2019/04/02 Python
python3中类的继承以及self和super的区别详解
2019/06/26 Python
Django静态资源部署404问题解决方案
2020/05/11 Python
Python脚本调试工具安装过程
2021/01/11 Python
numpy实现RNN原理实现
2021/03/02 Python
经典c++面试题三
2015/07/08 面试题
应届生如何写自荐信
2014/01/05 职场文书
创业资金计划书
2014/02/06 职场文书
厂长岗位职责
2014/02/19 职场文书
院领导写的就业推荐信
2014/03/09 职场文书
公司任命书范本
2014/06/04 职场文书
构建和谐校园倡议书
2015/01/19 职场文书
副校长2015年教育教学工作总结
2015/07/27 职场文书
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
2021/06/11 Python