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多重继承新算法C3介绍
Sep 28 Python
Python用UUID库生成唯一ID的方法示例
Dec 15 Python
Python编程使用NLTK进行自然语言处理详解
Nov 16 Python
利用python实现对web服务器的目录探测的方法
Feb 26 Python
python算法与数据结构之单链表的实现代码
Jun 27 Python
Python安装selenium包详细过程
Jul 23 Python
Python数据可视化:顶级绘图库plotly详解
Dec 07 Python
Python解释器以及PyCharm的安装教程图文详解
Feb 26 Python
Python第三方库的几种安装方式(小结)
Apr 03 Python
使用Python构造hive insert语句说明
Jun 06 Python
简单了解python关键字global nonlocal区别
Sep 21 Python
Python面向对象之成员相关知识总结
Jun 24 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正则匹配文章中的远程图片地址并下载图片至本地
2015/09/29 PHP
PHP简单日历实现方法
2016/07/20 PHP
使用laravel根据用户类型来显示或隐藏字段
2019/10/17 PHP
24款非常有用的 jQuery 插件分享
2011/04/06 Javascript
网页打开自动最大化的js代码
2012/08/22 Javascript
jquery validate poshytip 自定义样式
2012/11/26 Javascript
javascript实现tabs选项卡切换效果(自写原生js)
2013/03/19 Javascript
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
arguments对象验证函数的参数是否合法
2015/06/26 Javascript
JavaScript实现添加及删除事件的方法小结
2015/08/04 Javascript
js实现显示当前状态的导航效果代码
2015/08/28 Javascript
20分钟成功编写bootstrap响应式页面 就这么简单
2016/05/12 Javascript
js仿腾讯QQ的web登陆界面
2016/08/19 Javascript
js 实现获取name 相同的页面元素并循环遍历的方法
2017/02/14 Javascript
解决ztree搜索中多级菜单展示不全问题
2017/07/05 Javascript
使用重写url机制实现验证码换一张功能
2017/08/01 Javascript
JS的时间格式化和时间戳转换函数示例详解
2020/07/27 Javascript
[47:50]Secret vs VP 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/20 DOTA
用Python的线程来解决生产者消费问题的示例
2015/04/02 Python
Python的Flask框架中Flask-Admin库的简单入门指引
2015/04/07 Python
python妹子图简单爬虫实例
2015/07/07 Python
基于Python闭包及其作用域详解
2017/08/28 Python
Python实现简单网页图片抓取完整代码实例
2017/12/15 Python
Python读取word文本操作详解
2018/01/22 Python
Django跨域请求问题的解决方法示例
2018/06/16 Python
Python3+Appium实现多台移动设备操作的方法
2019/07/05 Python
python绘制BA无标度网络示例代码
2019/11/21 Python
Python在字符串中处理html和xml的方法
2020/07/31 Python
详解HTML5表单新增属性
2016/12/21 HTML / CSS
爱尔兰橄榄球店:Irish Rugby Store
2019/12/05 全球购物
与C++相比,Java中的数组有什么不同
2014/03/25 面试题
工程建设实施方案
2014/03/14 职场文书
高等教育学专业自荐书
2014/06/17 职场文书
庆六一宣传标语
2014/10/08 职场文书
家长学校教学计划
2015/01/19 职场文书
节约用电通知
2015/04/25 职场文书