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里disconnect UDP套接字的方法
Apr 23 Python
python利用正则表达式提取字符串
Dec 08 Python
Python正则表达式如何进行字符串替换实例
Dec 28 Python
对python For 循环的三种遍历方式解析
Feb 01 Python
python os模块简单应用示例
May 23 Python
如何使用Python标准库进行性能测试
Jun 25 Python
python 列表推导式使用详解
Aug 29 Python
详解Python在使用JSON时需要注意的编码问题
Dec 06 Python
Python API len函数操作过程解析
Mar 05 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
May 10 Python
Python3爬虫带上cookie的实例代码
Jul 28 Python
基于python爬取链家二手房信息代码示例
Oct 21 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&&mysql)一
2006/10/09 PHP
用Flash图形化数据(二)
2006/10/09 PHP
QueryPath PHP 中的jQuery
2010/04/11 PHP
php操作memcache缓存方法分享
2015/06/03 PHP
php PDO实现的事务回滚示例
2017/03/23 PHP
PHP下载文件函数与用法示例
2019/09/27 PHP
PHP code 验证码生成类定义和简单使用示例
2020/05/27 PHP
sina的lightbox效果。
2007/01/09 Javascript
Mootools 1.2教程 Tooltips
2009/09/15 Javascript
QUnit jQuery的TDD框架
2010/11/04 Javascript
JavaScript操纵窗口的方法小结
2013/06/28 Javascript
wap浏览自动跳转到wap页面的js代码
2014/05/17 Javascript
前端jquery部分很精彩
2016/05/03 Javascript
15位和18位身份证JS校验的简单实例
2016/07/18 Javascript
利用jQuery插件imgAreaSelect实现图片上传裁剪(放大缩小)
2016/12/02 Javascript
JS对象创建的几种方式整理
2017/02/28 Javascript
详解Angular5 服务端渲染实战
2018/01/04 Javascript
[原创]微信小程序获取网络类型的方法示例
2019/03/01 Javascript
JS实现普通轮播图特效
2020/01/01 Javascript
[40:57]TI4 循环赛第二日 iG vs EG
2014/07/11 DOTA
python获取本地计算机名字的方法
2015/04/29 Python
十条建议帮你提高Python编程效率
2016/02/16 Python
python+matplotlib实现礼盒柱状图实例代码
2018/01/16 Python
python中的内置函数max()和min()及mas()函数的高级用法
2018/03/29 Python
对Python 网络设备巡检脚本的实例讲解
2018/04/22 Python
python中数组和矩阵乘法及使用总结(推荐)
2019/05/18 Python
python networkx 包绘制复杂网络关系图的实现
2019/07/10 Python
Python模块相关知识点小结
2020/03/09 Python
Pycharm的Available Packages为空的解决方法
2020/09/18 Python
纯CSS3+DIV实现小三角形边框效果的示例代码
2020/08/03 HTML / CSS
Lou & Grey美国官网:主打舒适性面料服饰
2017/12/21 全球购物
一些网络技术方面的面试题
2014/05/01 面试题
销售求职信范文
2014/05/26 职场文书
爱国口号
2014/06/19 职场文书
2014年数学教研组工作总结
2014/12/06 职场文书
大学生违纪检讨书范文
2015/05/07 职场文书