以下内容来自「玩转腾讯云」用户原创文章,已取得受权。
<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 = headersexports.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 老手体验 。