用节点“监控”富联4销售短信提醒的一个实现代码
背景
《复仇者联盟4》北美首映的电影票在易贝已经是每张2500美元。为了避免漏票,我们写了一个脚本,监控复仇者联盟4发售的时候发短信,这样就可以第一时间抢票了。毕竟,抢夺就是赚钱。
思路
Node写一个截图脚本,监控在售电影中是否有“复仇者联盟”关键词,如果有,直接发短信~
实现
为了实现我的想法,我使用了两个节点库:superagent和cheerio,分别实现了发送请求和dom节点分析。
设置计时器
这里用setInterval实现定时,每60秒抓取一次网页数据
function interval func(){ super gent . get(' https://moyan.com/films?sortId=2 ')。end((err,RES)={ if(err){ console . log(`-$ { err } `)} else { getFilms(RES)} });} var timer=setInterval(interval func,10000);解析dom节点
我们只需要知道div的类是通道细节~
let getFilms=(RES)={ let $=cheerio . load(RES . text);Varison=false $('。通道细节’)。每个((idx,ele)={if ($ (ele))。文本()。的索引('复仇')!=-1){ ISon=true } });if(ison){ for(const phone of phone array){ send message(phone)} clear interval(timer)} else { console . log('电影未显示.')}};如果检测到电影已经在这里上映,记得关掉定时器~
发送短信
函数sendmail(mobile){ var http=require(' http ');var username=var secretkey=var path='/sms_token?DDT key=' username ' secret key=' secret key ' mobile=' mobile ' Content=Go ' var options={ host : ' 112 . 124 . 17 . 46 ',port: 7001,path: path,method: 'GET ',header RS : { ' Content-Type ' : ' application/JSON ' };http.get(options,function(RES){ var resData=' ';res.on('data ',function(data){ resData=data;});Res. on ('end ',function () {console.log('电影已发行,短信通知成功')});})}摘要
1.superagent和cheerio2用于按节点捕获数据包。2.clearInterval用于关闭计时器
完整代码地址:https://github.com/ChengRuipeng/maoyan
以上就是本文的全部内容。希望对大家的学习有帮助,支持我们。
版权声明:用节点“监控”富联4销售短信提醒的一个实现代码是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。