爬虫之python3用execjs执行JS代码
JS运行环境
Node.js 是Javascript语言服务器端运行环境
安装和配置:https://www.runoob.com/nodejs/nodejs-install-setup.html
测试运行
测试运行JavaScript程序
微软windows操作系统:附件-命令提示符
需进入到js程序的目录下,node命令+js文件名运行程序

调用方法
JS文件
// 函数
function getnow(){
var timestamp=new Date().getTime();
return timestamp;
}
// 变量
var name="12353454";
python调用上面js的函数和变量
import execjs # 读取js文件
with open('js.js', encoding='utf-8') as f:
js = f.read() # 通过compile命令转成一个js对象
docjs = execjs.compile(js) # 调用function方法
res = docjs.call('getnow')
print(res) # 调用变量方法
res = docjs.eval('name')
print(res)
使用execjs必须下载node.js程序,它是js代码运行所依赖的环境
爬虫之python3用execjs执行JS代码的更多相关文章
- execjs执行js代码报错:Exception in thread Thread-1
		
最近在爬一个js数据加密的网站的时候,出了点问题,困扰了我两天 直接运行js文件的时候正常,但是用execjs运行js代码的时候总是会报错 最后翻了很多博客之后,终于找到了原因:原因是有一个程序在使用 ...
 - 17-Python执行JS代码--PyExecJS、PyV8、Js2Py
		
一.Python执行JS代码--PyExecJS.PyV8.Js2Py 1.1.PyExecJS PyExecJS的优点是您不需要照顾JavaScript环境.特别是,它可以在Windows环境中运行 ...
 - selenium常用操作,查找元素,操作Cookie,获取截图,获取窗口信息,切换,执行js代码
		
目录: 1. 常用操作 2. 查找元素 3. 操作Cookie 4. 获取截图 5. 获取窗口信息 6. 切换 7. 执行JS代码 简介 selenium.webdriver.remote.webdr ...
 - WinForm程序执行JS代码的多种方法以及使用WebBrowser与JS交互
		
方法一 使用微软官方组件Interop.MSScriptControl 1.msscript.ocx下载的地址 http://www.microsoft.com/downloads/details ...
 - UIWebView中Html中用JS调用OC方法及OC执行JS代码
		
HTML代码: <html> <head> <title>HTML中用JS调用OC方法</title> <meta http-equiv=&quo ...
 - ASP.NET后台执行JS代码
		
1. 用Response.Write方法 代码如下:Response.Write("<script type='text/javascript'>alert("XXX& ...
 - 在Java中执行js代码
		
在某些特定场景下,我们需要用Java来执行Js代码(如模拟登录时,密码被JS加密了的情况),操作如下: ScriptEngineManager mgr = new ScriptEngineManage ...
 - A标签执行js 代码和跳转
		
5.执行JS代码: <a href="javascript:js代码">内容</a> ⑥.使用js来实现空链接 写法:<a href="ja ...
 - java中执行js代码
		
要在java中执行js代码,首先明白,java不支持浏览器本身的方法.支持自定义的js方法,否则会报错 先新建一个js文件:jsss.js 内容如下: function aa(a,b){ return ...
 
随机推荐
- Java InterpolationSearch
			
Java InterpolationSearch /** * <html> * <body> * <P> Copyright 1994-2018 JasonInte ...
 - 3、java基础:抽象类与接口的区别
			
抽象类 我们都知道在面向对象的领域一切都是对象,同时所有的对象都是通过类来描述的,但是并不是所有的类都是来描述对象的.如果一个类没有足够的信息来描述一个具体的对象,而需要其他具体的类来支撑它,那么这样 ...
 - JS中的兼容性问题
			
事件对象兼容 window.event只能在IE下运行,而不能在Firefox下运行,这是因为Firefox的event只能在事件发生的现场使用.Firefox必须从源处加入event作 ...
 - hive 存储格式对比
			
Apache Hive支持Apache Hadoop中使用的几种熟悉的文件格式,如TextFile,RCFile,SequenceFile,AVRO,ORC和Parquet格式. Cloudera I ...
 - 使用jquery来完成AJAX操作
			
jQuery对Ajax操作进行了封装,在jQuery中最底层的方法是$.ajax(),第二个是load(),$.get()和$.post(),第三层是$.getscript()和$.getJSON() ...
 - 【OGG 故障处理】OGG-01028
			
通过ATSCN 的方式启动REPLICAT 进程的时候报错 GGSCI> START REPLICAT RP_XXXX1, ATCSN 15572172378 GGSCI> VIEW RE ...
 - Linux系统管理——用户、组
			
单用户OS和多用户OS? Linux是多用户OS,Windows是单用户OS.很多人会疑惑? Windows7也可以创建多个用户啊,怎么能说是单用户OS呢? 这里的多用户指的是OS同时可以被多个人访问 ...
 - 通用mapper的增删改查方法   留存  备忘
			
Mybatis通用Mapper介绍与使用 前言 使用Mybatis的开发者,大多数都会遇到一个问题,就是要写大量的SQL在xml文件中,除了特殊的业务逻辑SQL之外,还有大量结构类似的增删改查SQ ...
 - 安装sass时遇到Failed to build gem native extension
			
错误信息 执行命令: sudo gem install sass时遇到下面的错误信息 Building native extensions. This could take a while... ER ...
 - Python基础之类
			
一.摘要 面向对象编程 是最有效的软件编写方法之一.在面向对象编程中,你编写表示现实世界中的事物和情景的类,并基于这些类来创建对象.编写类时,你定义一大类对象都有的通用行为.基于类创建对象 时,每个对 ...