這篇文章主要為大家展示了“如何使用node擼一個(gè)監(jiān)測復(fù)聯(lián)4開售短信提醒”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如何使用node擼一個(gè)監(jiān)測復(fù)聯(lián)4開售短信提醒”這篇文章吧。
創(chuàng)新互聯(lián)主營閬中網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶App定制開發(fā),閬中h5小程序定制開發(fā)搭建,閬中網(wǎng)站營銷推廣歡迎閬中等地區(qū)企業(yè)咨詢背景
北美復(fù)仇者聯(lián)盟4首映電影票eBay上面已經(jīng)2500美元一張票了,為了避免搶不到票 寫了個(gè)監(jiān)控復(fù)仇者聯(lián)盟4開售就發(fā)送短信的腳本,這樣我們可以第一時(shí)間進(jìn)行搶票,畢竟搶到就是賺到 。。。
思路
node編寫一個(gè)抓包腳本監(jiān)測在售的電影中是否有 “復(fù)仇者聯(lián)盟” 這幾個(gè)關(guān)鍵詞,如果有則直接發(fā)送短信~
實(shí)現(xiàn)
要想實(shí)現(xiàn)我的想法,運(yùn)用到了2個(gè)node庫:superagent 和 cheerio ,分別實(shí)現(xiàn)發(fā)送請求和dom節(jié)點(diǎn)分析。
設(shè)置定時(shí)器
這里用 setInterval 來實(shí)現(xiàn)定時(shí),每隔60s 抓取一次網(wǎng)頁數(shù)據(jù)
function intervalFunc() { superagent.get('https://maoyan.com/films?sortId=2').end((err, res) => { if (err) { console.log(` - ${err}`) } else { getFilms(res) } }); } var timer = setInterval(intervalFunc, 10000);
分析dom節(jié)點(diǎn)
我們只需要獲取到 div 的class 是 channel-detail 就可以了 ~
let getFilms = (res) => { let $ = cheerio.load(res.text); var isOn = false $('.channel-detail').each((idx, ele) => { if ($(ele).text().indexOf("復(fù)仇") != -1) { isOn = true } }); if (isOn) { for (const phone of phoneArray) { sendMessage(phone) } clearInterval(timer) } else { console.log("影片未上映....") } };
這里如果監(jiān)測到影片已經(jīng)上映了記得關(guān)閉定時(shí)器 ~
發(fā)送短信
function sendMessage(mobile) { var http = require('http'); var username = ""; var secretkey = ""; var path = "/sms_token?ddtkey=" + username + "&secretkey=" + secretkey + "&mobile=" + mobile + "&content=Go" var options = { host: '112.124.17.46', port: 7001, path: path, method: 'GET', headers: { 'Content-Type': 'application/json' } }; http.get(options, function (res) { var resData = ""; res.on("data", function (data) { resData += data; }); res.on("end", function () { console.log("影片已經(jīng)上映,短信通知成功") }); }) }
以上是“如何使用node擼一個(gè)監(jiān)測復(fù)聯(lián)4開售短信提醒”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!