python使用PyV8执行javascript代码示例分享

yipeiwu_com7年前Python基础

安装相应的库,我使用的是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实现Windows和Linux之间互相传输文件(文件夹)的方法

Python实现Windows和Linux之间互相传输文件(文件夹)的方法

项目中需要从Windows系统传输ISO文件到Linux测试系统,然后再Linux测试系统里安装这个ISO文件。所以就需要实现如何把文件从Windows系统传输到Linux系统中。 在项...

利用Python实现网络测试的脚本分享

前言 最近同学让我帮忙写一个测试网络的工具。由于工作上的事情,断断续续地拖了很久才给出一个相对完整的版本。其实,我Python用的比较少,所以基本都是边查资料边写程序。 程序的主要逻辑如...

对Python3.6 IDLE常用快捷键介绍

安装IDLE后鼠标右键点击*.py 文件,可以看到Edit with IDLE 选择这个可以直接打开编辑器。 IDLE默认不能显示行号,使用ALT+G 跳到对应行号,在右下角有显示光标所...

python实现将pvr格式转换成pvr.ccz的方法

本文实例讲述了python实现将pvr格式转换成pvr.ccz的方法。分享给大家供大家参考。具体实现方法如下: import zlib import struct import sy...

关于Python 3中print函数的换行详解

关于Python 3中print函数的换行详解

前言 因为工作的需要,最近看了看Python的应用,从入门级的九九乘法表开始,结果发现Python3.x和Python2.x真的是有太大的不同之处,就比如这里的换行处理,怕忘记先记下来,...