共计 2829 个字符,预计需要花费 8 分钟才能阅读完成。
以下内容来自「玩转腾讯云」用户原创文章,已取得受权。
<img src=”https://z3.ax1x.com/2021/06/30/RDauGD.png” width=”700″/>
最近看很多人跑路,所以就想着造福本人,想去主动的在某招聘软件中跟 HR 打招呼,因为买个服务器来独自配个 corntab 的确有点节约,所以就抉择了云函数,毕竟云函数的收费额度够用了。
所以,开始吧!
01. 脚本编写
我应用的是 Node.js 进行编写,总共文件分为三个:
- common.js 寄存公共的头部参数, 和公共办法
- request.js 用于申请接口
- index.js 用于云函数的触发器配置运行的文件
代码都没啥,就是带参数申请接口,公共参数,次要是配置申请的 header;
const headers = {'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 MicroMessenger/7.0.9.501 NetType/WIFI MiniProgramEnv/Windows WindowsWechat',
'content-type': 'application/x-www-form-urlencoded',
mpt: '',
platform: '',
scene: '',
ua: '{"model":"microsoft"}',
v: '',
ver: '',
wt2: '',
zpAppId: '',
Referer: '','Accept-Encoding':'gzip, deflate, br'
}
function sleep (delay) {
return new Promise(resolve => {setTimeout(() => {resolve()
}, delay)
})
}
exports.headers = headers
exports.sleep = sleep
接口申请,次要就是先获取指定城市的岗位列表,而后挨个打招呼;
const got = require('got')
const fs = require('fs')
const {headers, sleep} = require('./common')
function getJobList(page = 1) {
return got('本人去抓包哦', {
method: 'GET',
headers,
searchParams: {
appId: 10002,
expectId: 185008765,
sortType: 1,
cityCode: 101020100,
districtCode: '',
businessCode: '',
subwayLineId: '',
subwayStationId: '',
page: page,
pageSize: 10,
salary: '',
degree: '',
experience: '',
stage: '',
scale: '',
industry: '',
longitude: '',
latitude: '',
positionCode: ''
}
})
}
function addJob(jobId, lid, securityId) {
const body = {
appId: '',
jobId: jobId,
lid: lid,
securityId: securityId
}
return got('本人去抓包哦', {
method: 'POST',
headers,
body: new URLSearchParams(body).toString()}).then(res => {console.log(res.body)
return res
})
}
async function main () {
try {let jobList = []
for (let i = 1;;i++) {const res = await getJobList(i)
const data = JSON.parse(res.body)
jobList.push(...data.zpData.jobList)
if (!data.zpData.hasMore) {break}
}
const asyncArr = []
jobList.forEach(async job => {console.log(job.jobName)
asyncArr.push(addJob(job.encryptJobId, job.lid, job.securityId))
})
Promise.all(asyncArr)
} catch (error) {console.log(error)
}
}
main()
而后就是获取触发器中附加信息的主函数,通过获取附加信息中写的文件名,来调用指定文件,因为我还有发简历的文件,所以要辨别下;
'use strict';
exports.main_handler = async (event, context, callback) => {for (const v of event["Message"].split("\r\n")) {console.log(v);
require(`./${v}.js`)
}
}
02. 创立云函数
- 间接首页搜寻
云函数
- 进入 云函数控制台
- 创立云函数,创立形式抉择自定义创立,运行环境抉择 Node.js,函数代码咱们间接抉择上传文件夹,方便快捷啊,把咱们的代码文件夹间接选中上传即可;
- 留神:这里的超时工夫能够设置长一点,毕竟是接口申请,还是得花点工夫的,设少了,还没申请实现,就给断了;
- 接下来,配置触发器,抉择定时触发,咱们能够抉择它写死的一些工夫点,例如每一分钟,每一天等,也能够应用自定义触发周期,本人配置 cron 表达式,例如每天晚上九点就是
0 0 9 * * * *
; - 最初,附加信息抉择
是
,而后写咱们要跑的文件名,即request
- 点击「实现」即可创立云函数,随后咱们能够在列表中,查看到咱们的云函数,进入详情,也能够批改代码并部署。
03. 成果展现
Web Function 体验官招募令
惊喜福利满满,点击查看流动详情
<img src=”https://main.qcloudimg.com/raw/545c2c8589959c675b8c501e8b41e363.png” width=”700″/>
Web Function 应用体验
-
Web Function 产品文档:
https://cloud.tencent.com/doc…
-
Web Function 疾速体验链接:
https://console.cloud.tencent…
以后已在国内各大区域公布上线,欢送体验应用!
<img src=”https://main.qcloudimg.com/raw/4ee70db1b518d4c0064711d1caf1572c.jpg” width=”700″/>
One More Thing
立刻体验腾讯云 Serverless Demo,支付 Serverless 新用户礼包 👉 腾讯云 Serverless 老手体验。