python使用PyV8执行javascript代码示例分享
安装相应的库,我使用的是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程序中进行编码,之后再传值,就可以很好的解决这个问题
相关推荐
-
pyv8学习python和javascript变量进行交互
python取得javascript里面的值 复制代码 代码如下: import PyV8 with PyV8.JSContext() as env1: env1.eval(""" var_i = 1; var_f = 1.0; var_s = "test"; var_b = true; ""
-
使用PyV8在Python爬虫中执行js代码
前言 可能很多人会觉得这是一个奇葩的需求,爬虫去好好的爬数据不就行了,解析js干嘛?吃饱了撑的? 搜索一下互联网上关于这个问题还真不少,但是大多数童鞋是因为自己的js基础太烂,要么是HTML基础烂,要么ajax基础烂,反正各方面都很烂.基础这么渣不好好去学基础写什么爬虫? 那你肯定要问了"请问我的朋友,你TM怎么也有这个需求?莫非你是个技术渣?" 非也非也,博主作为一个拥有3年多前端经验的攻城尸,怎么会被这个问题给难倒呢,老夫今天遇到的问题很显然没有那么简单. 问题 那么博主到底是遇到
-
python使用PyV8执行javascript代码示例分享
安装相应的库,我使用的是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 = Tes
-
selenium python浏览器多窗口处理代码示例
本文主要研究的是selenium python浏览器多窗口处理的相关内容,分享了操作实例代码,具体如下: #!/usr/bin/python # -*- coding: utf-8 -*- __author__ = 'zuoanvip' #在测试过程中有时候会遇到出现多个浏览器窗口的情况,这时候我们可以通过窗口的句柄来操作不同窗口的元素 from selenium import webdriver import os import time driver =webdriver.Firefox()
-
Python中join函数简单代码示例
本文简述的是string.join(words[, sep]),它的功能是把字符串或者列表,元组等的元素给拼接起来,返回一个字符串,和split()函数与正好相反,看下面的代码理解. 首先展示下结果吧! 代码分享: a=["豫","N","C8","C89"] b=("豫","N","C8","C89") c="zhang" a
-
python scrapy重复执行实现代码详解
这篇文章主要介绍了python scrapy重复执行实现代码详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Scrapy是一个为了爬取网站数据,提取结构性数据而编写的应用框架,我们只需要实现少量的代码,就能够快速的抓取 Scrapy模块: 1.scheduler:用来存放url队列 2.downloader:发送请求 3.spiders:提取数据和url 4.itemPipeline:数据保存 from twisted.internet i
-
用python画圣诞树三种代码示例介绍
目录 前言 1.方块圣诞树 2.线条圣诞树 3.豪华圣诞树 总结 前言 这篇文章主要介绍了使用Python画了一棵圣诞树的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 如何用python画一个圣诞树呢? Turtle库来画圣诞树. 1.方块圣诞树 import turtle screen = turtle.Screen() screen.setup(375, 700) circle = turtle.Turtle() circle
-
10个Python常用的损失函数及代码实现分享
目录 什么是损失函数 损失函数与度量指标 为什么要用损失函数 回归问题 1.均方误差(MSE) 2.平均绝对误差(MAE) 3.均方根误差(RMSE) 4.平均偏差误差(MBE) 5.Huber损失 二元分类 6.最大似然损失(Likelihood Loss/LHL) 7.二元交叉熵(BCE) 8.Hinge Loss 和 Squared Hinge Loss (HL and SHL) 多分类 9.交叉熵(CE) 10.Kullback-Leibler 散度 (KLD) 什么是损失函数 损失函数
-
python编程羊车门问题代码示例
问题: 有3扇关闭的门,一扇门后面停着汽车,其余门后是山羊,只有主持人知道每扇门后面是什么.参赛者可以选择一扇门,在开启它之前,主持人会开启另外一扇门,露出门后的山羊,然后允许参赛者更换自己的选择. 请问: 1.按照你的第一感觉回答,你觉得不换选择能有更高的几率获得汽车,还是换选择能有更高的几率获得汽车?或几率没有发生变化? 答:第一感觉换与不换获奖几率没有发生变化. 2.请自己认真分析一下"不换选择能有更高的几率获得汽车,还是换选择能有更高的几率获得汽车?或几率没有发生变化?" 写出
-
python绘制简单折线图代码示例
1.画最简单的直线图 代码如下: import numpy as np import matplotlib.pyplot as plt x=[0,1] y=[0,1] plt.figure() plt.plot(x,y) plt.savefig("easyplot.jpg") 结果如下: 代码解释: #x轴,y轴 x=[0,1] y=[0,1] #创建绘图对象 plt.figure() #在当前绘图对象进行绘图(两个参数是x,y轴的数据) plt.plot(x,y) #保存图象 plt
-
python使用logging模块发送邮件代码示例
logging模块不只是能记录log,还能发送邮件,使用起来非常简单方便 #coding=utf-8 ''''' Created on 2016-3-21 @author: Administrator ''' import logging, logging.handlers class EncodingFormatter(logging.Formatter): def __init__(self, fmt, datefmt=None, encoding=None): logging.Format
-
通过Java压缩JavaScript代码实例分享
通过移除空行和注释来压缩 JavaScript 代码 /** * This file is part of the Echo Web Application Framework (hereinafter \"Echo\"). * Copyright (C) 2002-2009 NextApp, Inc. * * Compresses a String containing JavaScript by removing comments and whitespace. */ public
随机推荐
- 深入Java冒泡排序与选择排序的区别详解
- PHP 修复未正常关闭的HTML标签实现代码(支持嵌套和就近闭合)
- 海阳2006+功能中的潜水王
- asp目录读写权限检测脚本 TestFolder
- c++友元函数与友元类的深入解析
- WPF TextBox水印效果制作方法详解
- JavaScript中boolean类型之三种情景实例代码
- PHP树-不需要递归的实现方法
- 直接拿来用的页面跳转进度条JS实现
- Powershell改变脚本执行优先权的代码分享
- Sql存储过程游标循环的用法及sql如何使用cursor写一个简单的循环
- JQuery validate 验证一个单独的表单元素实例
- yahoo首页伸缩效果代码
- Python安装官方whl包和tar.gz包的方法(推荐)
- C# 参数按照ASCII码从小到大排序(字典序)
- Service Activity的三种交互方式(详解)
- 全面了解Nginx, WSGI, Flask之间的关系
- mysql 5.7.18 绿色版下载安装教程
- layui 实现table翻页滚动条位置保持不变的例子
- javascript实现函数柯里化与反柯里化过程解析