网页数据抓取并导入xlsx。
xlsx数据批量录入到网页系统中。
自动登录网页,并根据某些值进行某些操作,比如点击按钮,刷新网页。
定点秒杀商品等。
情景1:
比如一个网页有一个表格,里面有很多 学生信息(身高,体重,爱好等)。
这时候想把这些数据全部放在xlxs里,手动的话,得一条一条复制
就是有200条信息,你也得复制2-3小时,
但是用本程序,可以自动批量把数据导入到xlsx,只要你运行程序,数秒就把数据下载并生成xlsx文件 (支持翻页数据)
情景2:
比如市场调查员,采集了很多人的信息,这时候需要把这些人的信息录入网页登录的系统中,
如果系统不支持xlsx 上传录入,只支持页面表单录入的话,
可以使用本程序,进行批量导入,运行程序后,会模拟人工操作,自动使用xlsx表格数据进行填充表单,自动提交数据。
解放双手。喝杯茶的功夫,数据就导入完毕
情景3:
价格秒杀,网页中的秒杀,抢购。手动点击,总是抢不到,这时候使用该软件,可以设置点击频率,到点自动毫秒级自动点击。解放双手。
情景4:
有时候需要一直守在一个网页前,不断的刷新页面,当出现某些东西的时候,需要点击按钮或者其他操作。使用本软件可以不用人工盯。设置好条件时,
当条件产生时,会自动帮你执行某些操作。
情景5:
需要把网页截取成pdf格式,大量网页批量搞定
const Nightmare = require("nightmare");
const nightmare = Nightmare({ show: false });
const path = require("path");
// 模拟人工登录
nightmare
.goto("https://passport.csdn.net/login?code=public")
.header(
"User-Agent",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"
)
.viewport(1920, 1080)
.wait(3000)
.wait(".main-select .text-tab:nth-child(2) a")
.click(".main-select .text-tab:nth-child(2) a")
.type("#all", "账号")
.type("#password-number", "密码")
.wait(2000)
.click(".form-submit button")
.wait(5000)
.html(path.resolve(__dirname, "./outfile"))
.end(() => "ssss")
.then((r) => {
console.log(r);
})
.catch((error) => {
console.error("Search failed:", error);
});
const xlsx = require("node-xlsx").default;
const Nightmare = require("nightmare");
const fs = require("fs");
const path = require("path");
const nightmare = Nightmare({ show: false });
//数据抓取并生成xlsx
nightmare
.goto("http://106.13.68.142/#/assets")
.header(
"User-Agent",
"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36"
)
.viewport(1920, 1080)
.wait(".el-table__body .el-table__row")
.evaluate((selector) => {
const result = [];
const trs = document.querySelector(selector).children;
for (let i = 0; i < trs.length; i++) {
let tds = trs[i].children;
let trs_data = [];
for (let j = 0; j < tds.length; j++) {
trs_data.push(tds[j].innerText);
}
result.push(trs_data);
}
return result;
}, ".el-table__body tbody")
.end()
.then((data) => {
const buffer = xlsx.build([{ name: "mySheetName", data: data }], {
"!cols": [{ wch: 100 }, { wch: 100 }, { wch: 100 }, { wch: 200 }],
});
if(!fs.existsSync(path.resolve(__dirname, "./.out"))){
fs.mkdirSync(path.resolve(__dirname, "./.out"));
}
fs.writeFileSync(path.resolve(__dirname, "./.out/"+(new Date().getMinutes() +new Date().getMilliseconds())+".xlsx"), buffer);
})
.catch((error) => {
console.error("Search failed:", error);
});
如程序对你有帮助,请作者喝杯咖啡,未尝不可。哈哈哈哈