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编写一个基于终端的实现翻译的脚本
Apr 24 Python
你眼中的Python大牛 应该都有这份书单
Oct 31 Python
Python hexstring-list-str之间的转换方法
Jun 12 Python
浅谈python 中类属性共享的问题
Jul 02 Python
Python模拟FTP文件服务器的操作方法
Feb 18 Python
Python求凸包及多边形面积教程
Apr 12 Python
python模拟哔哩哔哩滑块登入验证的实现
Apr 24 Python
浅谈Python 参数与变量
Jun 20 Python
Python压缩模块zipfile实现原理及用法解析
Aug 14 Python
Python爬虫之Selenium实现窗口截图
Dec 04 Python
解决python3.6用cx_Oracle库连接Oracle的问题
Dec 07 Python
基于PyTorch中view的用法说明
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 curl post 时出现的问题解决
2014/01/30 PHP
php简单的留言板与回复功能具体实现
2014/02/19 PHP
ThinkPHP3.2.2实现持久登录(记住我)功能的方法
2016/05/16 PHP
php 数组随机取值的简单实例
2016/05/23 PHP
使用PHP json_decode可能遇到的坑与解决方法
2017/08/03 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
2019/07/03 PHP
基于laravel-admin 后台 列表标签背景的使用方法
2019/10/03 PHP
在线编辑器中换行与内容自动提取
2009/04/24 Javascript
jQuery实现的一个自定义Placeholder属性插件
2014/08/11 Javascript
javascript跨域原因以及解决方案分享
2015/04/08 Javascript
JavaScript实现的经典文件树菜单效果
2015/09/08 Javascript
jQuery 中msgTips 顶部弹窗效果实现代码
2017/08/14 jQuery
AngularJS中table表格基本操作示例
2017/10/10 Javascript
jQuery实现鼠标响应式淘宝动画效果示例
2018/02/13 jQuery
React diff算法的实现示例
2018/04/20 Javascript
浅谈在node.js进入文件目录的问题
2018/05/13 Javascript
jQuery中将json数据显示到页面表格的方法
2018/05/27 jQuery
在vue中使用公共过滤器filter的方法
2018/06/26 Javascript
JQuery属性操作与循环用法示例
2019/05/15 jQuery
nodejs中各种加密算法的实现详解
2019/07/11 NodeJs
使用typescript构建Vue应用的实现
2019/08/26 Javascript
基于jQuery实现可编辑的表格
2019/12/11 jQuery
node实现mock-plugin中间件的方法
2019/12/25 Javascript
Python自定义类的数组排序实现代码
2016/08/28 Python
python 读写文件,按行修改文件的方法
2018/07/12 Python
Python3 获取一大段文本之间两个关键字之间的内容方法
2018/10/11 Python
pytorch中的inference使用实例
2020/02/20 Python
利用CSS3实现文字折纸效果实例代码
2018/07/10 HTML / CSS
美国性感女装网站:bebe
2017/03/04 全球购物
英国领先的品牌珠宝和配件供应商:Acotis Jewellery
2018/03/07 全球购物
C#如何允许一个类被继承但是避免这个类的方法被重载?
2015/02/24 面试题
原料仓管员岗位职责
2014/04/12 职场文书
专题组织生活会方案
2014/06/15 职场文书
护士个人年终总结
2015/02/13 职场文书
2016公司中秋节寄语
2015/12/07 职场文书
mysql 获取相邻数据项
2022/05/11 MySQL