原贴:失业大潮下,高效低耗寻找合适机会
之前的教程就不赘述了,默认你已经看过了原贴。本帖只是给油猴脚本写一个后端服务,使用的是nodejs
首先写一个后端服务(nodejs),将数据导出为 Excel
const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');
const XLSX = require('xlsx');
const moment = require('moment');
const app = express();
app.use(cors());
app.use(bodyParser.json());
app.post('/zhipin.php', (req, res) => {
const data = JSON.parse(req.body.data);
let jobList = data.zpData.jobList;
if (!jobList || jobList.length === 0) {
res.status(400).send('No job data found');
return;
}
// 按照最后修改时间进行排序
jobList.sort((a, b) => moment(b.lastModifyTime) - moment(a.lastModifyTime));
// 提取你需要的信息
let output = jobList.map(job => ({
'职位名称': job.jobName,
'公司名称': job.brandName,
'薪资范围': job.salaryDesc,
'工作经验要求': job.jobExperience,
//时间格式化为年月日时分秒
'最后修改时间': moment(job.lastModifyTime).format('YYYY-MM-DD HH:mm:ss'),
'招聘者': job.bossName + '-' + job.bossTitle
}));
// 将数据写入Excel文件
let ws = XLSX.utils.json_to_sheet(output);
// 设置列宽
ws['!cols'] = [
{ wch: 50 }, // '职位名称'
{ wch: 50 }, // '公司名称'
{ wch: 20 }, // '薪资范围'
{ wch: 20 }, // '工作经验要求'
{ wch: 20 } // '最后修改时间'
];
let wb = XLSX.utils.book_new();
// 防止文件名重复
XLSX.utils.book_append_sheet(wb, ws, 'Sheet');
XLSX.writeFile(wb, 'output' + moment().format('YYYY-MM-DD HH:mm:ss') + '.xlsx');
res.status(200).send('Data received');
});
const port = process.env.PORT || 3000;
app.listen(port, () => console.log(`Server is running on port ${port}`));
最后修改油猴脚本的服务端地址
然后启动服务就可以了。然后去浏览器访问boss直聘,就可以看到项目所在的根目录有了Excel文件