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脚本实现Web漏洞扫描工具
Oct 25 Python
Python把csv数据写入list和字典类型的变量脚本方法
Jun 15 Python
Python数据持久化shelve模块用法分析
Jun 29 Python
实例详解Matlab 与 Python 的区别
Apr 26 Python
Python中最好用的命令行参数解析工具(argparse)
Aug 23 Python
python修改文件内容的3种方法详解
Nov 15 Python
Python第三方包之DingDingBot钉钉机器人
Apr 09 Python
python如何安装下载后的模块
Jul 03 Python
用python给csv里的数据排序的具体代码
Jul 17 Python
python 调用API接口 获取和解析 Json数据
Sep 28 Python
使用Python画了一棵圣诞树的实例代码
Nov 27 Python
Python中Permission denied的解决方案
Apr 02 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 生成短网址原理及代码
2014/01/23 PHP
PHP array_shift()用法实例分析
2019/01/07 PHP
从sohu弄下来的flash中展示图片的代码
2007/04/27 Javascript
jquery 简单的进度条实现代码
2010/03/11 Javascript
Jquery ajax不能解析json对象,报Invalid JSON错误的原因和解决方法
2010/03/27 Javascript
js实现无限级树形导航列表效果代码
2015/09/23 Javascript
jQuery+CSS3实现3D立方体旋转效果
2015/11/10 Javascript
不想让浏览器运行javascript脚本的方法
2015/11/20 Javascript
js自调用匿名函数的三种写法(推荐)
2016/08/19 Javascript
bootstrap滚动监控器使用方法解析
2017/01/13 Javascript
JavaScript表单验证实现代码
2017/05/22 Javascript
vue resource post请求时遇到的坑
2017/10/19 Javascript
ajax前台后台跨域请求处理方式
2018/02/08 Javascript
JavaScript实现简单的隐藏式侧边栏功能示例
2018/08/31 Javascript
vuex直接赋值的三种方法总结
2018/09/16 Javascript
微信小程序如何使用云开发
2019/05/17 Javascript
[00:35]TI7不朽珍藏III——寒冰飞龙不朽展示
2017/07/15 DOTA
Python File readlines() 使用方法
2018/03/19 Python
解决Pycharm无法import自己安装的第三方module问题
2018/05/18 Python
python训练数据时打乱训练数据与标签的两种方法小结
2018/11/08 Python
详解Python中的各种转义符\n\r\t
2019/07/10 Python
numpy中三维数组中加入元素后的位置详解
2019/11/28 Python
详解python实现可视化的MD5、sha256哈希加密小工具
2020/09/14 Python
Pycharm安装Qt Design快捷工具的详细教程
2020/11/18 Python
Html5适配iphoneX刘海屏的简单实现
2019/04/09 HTML / CSS
德国大型的家具商店:Pharao24.de
2016/10/02 全球购物
Toppik顶丰增发纤维官网:解决头发稀疏
2017/12/30 全球购物
新西兰领先的内衣店:Bendon Lingerie新西兰
2018/07/11 全球购物
Ibood荷兰:互联网每日最佳在线优惠
2019/02/28 全球购物
开工仪式主持词
2014/03/20 职场文书
网站出售协议书范文
2014/10/10 职场文书
幼儿园感恩节活动方案2014
2014/10/11 职场文书
整改通知书格式
2015/04/22 职场文书
虚拟机linux端mysql数据库无法远程访问的解决办法
2021/05/26 MySQL
Python Matplotlib绘制条形图的全过程
2021/10/24 Python
海康机器人重磅发布全新算法开发平台VM4.2
2022/04/21 数码科技