python 爬虫调用 js 的库之 execjs


针对现在大部分的网站都是使用 js 加密,js 加载的,并不能直接抓取出来,这时候就不得不使用一些三方类库来执行 js 语句


1. 安装

pip install PyExecJS

2. 运行环境时

execjs 会自动使用当前电脑上的运行环境再次安装 node.js

node.js 下载官网:http://nodejs.cn/download/
建议下载 xxx.msi,他会再安装时自动配置环境变量
linux 环境可以用 apt-get install nodejs 命令进行安装

3.环境检测

node -v 显示安装的 nodejs 版本
npm -v 显示安装的 npm 版本

4.基本使用

  1. 实例化node对象
import execjs
#实例化node对象
node=execjs.get()
  1. js源文件编译
#js源文件编译
ctx=node.compile(open('./wenjian.js',encoding='utf-8').read())
  1. 执行js函数
#执行js函数
funcName='getpwd("{0}")'.format('123456')
#被调用的函数名赋值给funcName,并给函数getpwd传入参数123456
pwd=ctx.eval(funcName)
# 调用函数,funcName为被调用的函数名
print(pwd)
  1. 实战练习
import execjs
inp=input('需要加密的内容')
#读取js文件的内容
with open('weixin.js', 'r', encoding='utf-8') as f:js_code = f.read()#通过execjs.compile()进行编译js文件内容
compile_result=execjs.compile(js_code)
# 调用js文件传参
#weixin是js中的function方法名,inp是穿的参
result = compile_result.call('weixin', inp)
print(result)

python 爬虫调用 js 的库之 execjs相关推荐

  1. python execjs库_python3调用js的库之execjs

    针对现在大部分的网站都是使用js加密,js加载的,并不能直接抓取出来,这时候就不得不适用一些三方类库来执行js语句 执行JS的类库:execjs,PyV8,selenium,node 这里主要讲一下e ...

  2. python3调用js的库之execjs

    针对现在大部分的网站都是使用js加密,js加载的,并不能直接抓取出来,这时候就不得不适用一些三方类库来执行js语句 执行JS的类库:execjs,PyV8,selenium,node 这里主要讲一下e ...

  3. Python之调用JS的方式

    一.前言 日常 Web 端爬虫过程中,经常会遇到参数被加密的场景,因此,我们需要分析网页源代码.通过调式,然后一层一层剥离出关键的 JS 代码,使用 Python 去执行这段代码,得出参数加密前后的 ...

  4. 网易云音乐python爬虫(Js破解)

    网易云音乐下载python爬虫(Js破解) 最近做了一个网易云音乐下载的python爬虫,功能就是输入歌曲的名字,程序自动下载网易音乐搜索界面的第一首歌(一般都是原唱排第一位).本文很适合小白学习,写 ...

  5. 在python中调用js或者nodejs要使用PyExecJs第三方包。

    在python中调用js或者nodejs要使用PyExecJs第三方包. 使用时:import execjs 这是没有用到nodejs的情况:如果用到nodejs,这种写法会报"Cannot ...

  6. python websocket库有什么_常用Python爬虫与Web开发库有哪些?

    Python爬虫和Web开发均是与网页相关的知识技能,无论是自己搭建的网站还是爬虫爬去别人的网站,都离不开相应的Python库,以下是常用的Python爬虫与Web开发库. **1.爬虫库** bea ...

  7. Python爬虫之Js逆向案例(6)-某道翻译

    Python爬虫之Js逆向案例(6)-有道翻译 声明:某道翻译加密逆向分析仅用于研究和学习,如有侵权,可联系删除 大家好,距离上次分享js逆向案例已经有一个月了,在这期间每次在快要揭秘出来时.整理文章 ...

  8. python爬虫之Beautiful Soup库,基本使用以及提取页面信息

    一.Beautiful Soup简介 爬虫正则表达式参考:Python 爬虫正则表达式和re库 在爬虫过程中,可以利用正则表达式去提取信息,但是有些人觉得比较麻烦.因为花大量时间分析正则表达式.这时候 ...

  9. Python爬虫之Js逆向案例(8)-某乎x-zst-81之webpack

    声明:某乎加密逆向分析仅用于研究和学习,如有侵权,可联系删除 大家好,相信各位童鞋通过上期<Python爬虫之Js逆向案例(7)-知hu最新x-zse-96之rpc方案>这篇文章了解了什么 ...

最新文章

  1. PPT中视频投影问题
  2. css撑起父元素清除浮动的问题
  3. java day10(续day9)
  4. 那些年,杜蕾斯紧跟热点的骚包文案有哪些?
  5. PrimeFaces Mobile入门
  6. 学习大数据需要的基础
  7. 删除iptables nat 规则
  8. 摆摊真的一个月能上万嘛
  9. C++基础 ----- 文件操作
  10. 腾讯员工每年写3万行代码;马斯克承认利用摄像头监视车主;Chrome 89上线实时字幕 | 极客头条...
  11. PLC PID调试总结
  12. Docker——阿里云镜像加速
  13. 12 聚类模型 -- 机器学习基础理论入门
  14. python 列表嵌套字典 添加修改删除_python3--字典,字典的嵌套,概念:分别赋值
  15. “买家秀“与“卖家秀”
  16. 万维网支持用户资源上行至服务器,万维网服务器
  17. 微擎应用之医院挂号专家 微官网的实现
  18. 计算机网络实验(华为eNSP模拟器)——第十四章 RIP协议和OSPF协议
  19. 你真的知道什么是项目吗?项目的基本概念
  20. 惊天消息!美国重启病毒实验,或对人类造成巨大威胁

热门文章

  1. 计算机学术论文写作与投稿小结
  2. 照片聚类2014年最新方法——“Clustering by Composition”
  3. i-house token(IHT)全球不动产区块链交易云平台获3000万美元投资
  4. 中国十大高薪职业出炉
  5. 全球网络拓扑测绘这样来实现
  6. 最新版成人高考专升本高数一、高数二有什么区别?
  7. 精容数安虚拟磁带库(Rongan VTL)
  8. java swing 遍历,关于java swing 无限级树的遍历问题
  9. 堆和栈的内存管理区别
  10. 对于StringTable的理解