首先说明wps js宏还没有调用Win系统组件的方法,这里用shell函数调用cmd命令来执行nodejs https模块相关代码,需要安装node.js,并且对node.js、npm有一定了解。

以B站评论为例,获取回复我的数据

核心思路

一、wps js宏可通过Shell函数调用cmd命令执行nodejs(Python同理)

向cmd传递参数时,注意转义双引号,利用正则替换即可replace(/\"/g, '"""')

//打开cmd并显示nodejs版本号,注意要安装nodejs,不然cmd报错
Shell('cmd /k node -v', jsNormalNoFocus)
二、nodejs从cmd命令行获取参数
const args = process.argv //返回数组类型
三、nodejs https模拟cookie信息绕过网站的登录验证
  • https.request(url[, options][, callback])

  • 注意res.on('data')获得的是Stream流,需要合并

const https = require('https')
const options = {url: 'url'      //请求链接, method: 'GET' //请求方式, headers: {    //请求头'accept': 'accept', 'cookie': 'cookie', 'origin': 'origin', 'referer': 'referer', 'user-agent': 'user-agent'}
}
const req = https.request(options.url, options, res => {let buf = ''res.on('data', d => buf += d) //Stream 流,合并res.on('end', () => console.log(buf)) //接收完成
})
req.on('error', error => console.error(error))
req.end()
四、nodejs环境下导出Excel文件需要用到exceljs包

安装exceljs

npm i exceljs
const ExcelJS = require('exceljs')            //导入exceljs包
const workbook = new ExcelJS.Workbook()       //创建工作簿对象
const sheet = workbook.addWorksheet('Sheet1') //创建工作表对象
const arr = [[1,2,3], [4,5,6], [7,8,9]]
const fileName = 'D\\test.csv'
sheet.addRows(arr)                            //写入二维数组
workbook.csv.writeFile(fileName)              //导出csv文件

方法/步骤

一、安装node.js
  • 一直点击下一步安装即可,非常简单这里不细说,官网:nodejs.org

  • 安装完成后,在键盘按下win + r键,输入cmd打开命令行窗口,在命令行窗口输入node -v,然后按下enter(回车键),如果能正常显示版本号则安装正常

二、准备文件
  • 新建一个文件夹test,用vscode打开

  • 新建终端,输入npm i exceljs安装exceljs包

  • 新建test.js文件编辑代码

  • 等会在wps js宏编辑器写代码需要test.js文件的完整路径

三、test.js代码
const https = require('https')     //导入nodejs https模块
const ExcelJS = require('exceljs') //导入exceljs包
const args = process.argv          //获取cmd命令行参数,返回一个数组
const last = args.length - 1
const opt = JSON.parse(args[last]) //因为传递的参数是JSON字符串,所以这里转换为js可操作的数组对象getJSON(opt.url, opt, data => {const obj = JSON.parse(data)const list = obj.data.itemsconst arr = list.map(item => {return [item.user.avatar + '@46w_46h_1c.webp' //回复人头像链接, item.user.nickname                  //回复人, item.item.source_content            //回复内容, item.item.root_reply_content        //被回复的评论, item.item.title                     //我的评论, item.item.uri                       //原视频链接]})arr.unshift(['回复人头像链接', '回复人', '回复内容', '被回复的评论', '我的评论', '原视频链接'])const workbook = new ExcelJS.Workbook()       //新建工作簿const sheet = workbook.addWorksheet('回复我的') //新建工作表sheet.addRows(arr)                             //写入数据workbook.csv.writeFile(opt.fileName)          //导出为csv文件console.log('获取成功')
})function getJSON(url, options, callback) {//nodejs官网给的方法:https.request(url[, options][, callback])const req = https.request(url, options, res => {let buf = ''res.on('data', d => buf += d) //Stream(流),大多数是一份一份传过来的,这里直接合并res.on('end', () => {         //流传输完成的操作//fs.writeFile(opt.fileName, buf.toString(), err => console.log(err || 'done')) //写入文件callback(buf.toString())  //回调函数})})req.on('error', error => console.error(error)) //错误处理req.end() //结束请求
}
四、利用浏览器的开发工具获取请求头信息

通过浏览器开发工具获取请求头信息,快捷键一般是F12

请求url(request url)、method、accept、cookie、origin、referer、user-agent等会写wps js宏代码要用,网抓数据一般拿这几个参数就够了

五、wps js宏编写代码
function test(){//设置请求信息const options = {url: 'url'                       //请求url(request url), method: 'GET'                 //method,必须大写, fileName: 'D:\\test.csv'      //获取到的数据保存路径, headers: {                    //设置请求头,一般设置这个都能绕过服务器登录验证'accept': 'accept'           //accept, 'origin': 'origin'         //origin, 'referer': 'referer'       //referer, 'user-agent': 'user-agent' //user-agent, 'cookie': 'cookie'         //cookie}}let arg = JSON.stringify(options) //把配置信息转为JSON字符串,向cmd传递参数arg = arg.replace(/\"/g, '"""')   //在cmd需要转义双引号//nodejs执行的文件,根据自己的文件路径更改,照搬我的一定会报错let nodeJsFile = 'C:\\Users\\Sam\\Desktop\\test\\test.js'let order = nodeJsFile + ' ' + arg //设置cmd命令行参数,参数之间用空格隔开Shell('cmd /k node ' + order, jsNormalNoFocus)//Shell('cmd /c node ' + order, jsHide) //隐藏cmd窗口,执行完成后关闭自动窗口
}

wps js宏模拟cookie绕过网站登录验证请求数据相关推荐

  1. python绕过验证码登录_python接口自动化(十三)--cookie绕过验证码登录(详解)...

    简介 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接).获取不到也没关系,可以通过添加cookie的方式绕过验证码.(注意:并不是所有的 ...

  2. 通过cookie绕过验证码登录(绕过验证码)

    通过cookie绕过验证码登录(绕过验证码) #!/user/bin/env python3 # -*- coding: utf-8 -*- from selenium import webdrive ...

  3. WPS JS宏表格定位实例

    工具软件:WPS JS宏编辑器 实例功能: 给你这样的功课表,将各位老师的功课定位到任课情况中去. 任课情况表: 本实例的定位要实现将功课表的各教师任教情况定位到表中,实现上有一定的难度. 代码实现思 ...

  4. WPS JS 宏实现表间导入

    工具软件:WPS JS宏编辑器 前言: 我们在工作过程中往往出现一个表复制部分数据到另一个表,并且两个表有部分内容是相同的,数量也比较多,这种情况下,使用WPS JS宏进行表间数据导入十分方便快捷! ...

  5. wps js宏中使用Lodash

    文章目录 前提条件 使用 Lodash 源码 最好放在单独的模块中 使用 立即窗口测试 宏内测试 不理想的编程体验 Thu Jul 01 2021 01:38:12 GMT+0800 Lodash 只 ...

  6. wps js宏开发表格数据归类拆分和excel文件合并的xlam加载宏插件

    前言 用wps js宏编辑器开发的表格数据拆分与合并的加载宏工具,写好代码把工作簿另存为xlam加载宏文件,然后添加到加载项即可使用.xlam文件你可以理解为没有工作表的工作簿,先看动画演示效果: 主 ...

  7. WPS JS宏批量重命名文件名

    工具软件:WPS JS宏编辑器 代码实现: 一.读取文件名模块 1.定义当前工作薄路径为当前工作路径 var pah=ThisWorkbook.Path; 2.获取当前文件名 var file=Dir ...

  8. WPS JS宏 打开带密码并对多工作薄多工作表进行合并实例

    工具软件: WPS 办公软件 WPS JS宏编辑器 代码如下: 1.合并多工作薄 代码解释: 使用Open()方法打开文档,Open()方法官方并没给出详细的说明,本人在网查找了一下:Open(Fil ...

  9. wps js宏编辑器案例3-工作簿和工作表操作

    本文通过一个连锁门店每天营业额按门店名称进行拆分的案例,讲述wps js宏编辑器中工作簿.工作表和Range的相关操作,比如:工作表的复制,工作簿另存&关闭,Range.findNext使用注 ...

最新文章

  1. composer爆错:zlib_decode():data error
  2. Android自定义相机详细讲解
  3. v8学习笔记(三) 运行时环境
  4. 一句简单的SQL查询语句的背后...
  5. 从方法返回Java 8的可选项时的注意事项
  6. bzoj 3928: [Cerc2014] Outer space invaders
  7. 又一腾讯应用将停运!企业QQ将于2022年1月31日关闭
  8. 前后端整合---请求
  9. Starling实现的硬皮翻书效果
  10. SylixOS arm64 异常向量表
  11. HTML5实现在线拍照功能(调取摄像头API)
  12. 光伏窗性能研究(3)——单层光伏窗节能性能研究
  13. 安卓案例:利用视图翻页器实现引导页
  14. 华为数通笔记-NDP原理
  15. 浅谈Android中的异步加载之ListView中图片的缓存及优化三
  16. TTL(生存时间)介绍
  17. php讯飞文本纠错接口对接
  18. python做数据可视化视频_B站上的数据可视化视频是怎么做的,用到了什么技术和工具?...
  19. 分布式系统实践学习总结
  20. 知识图谱构建2——使用protege构建本体

热门文章

  1. css3南瓜幽灵动画代码
  2. WIFI快连技术介绍
  3. android 长按复制,TextView长按复制实现方法 3种方法实践总结
  4. SQL server的书签查找
  5. rabbitmq教程前五种 来自牧马人老王
  6. ###货币转换1###python
  7. EXCEL通过配置导入规则,实现任意格式EXCEL文件解析
  8. 某次通用型漏洞挖掘思路分享
  9. iNFTnews | 百度携手中国航天推出全新NFT作品,开启“未来太空”探索之旅
  10. TPLINK上网设置之上网方式是固定IP地址时如何配置?