溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何使用node擼一個監(jiān)測復(fù)聯(lián)4開售短信提醒

發(fā)布時間:2021-08-02 11:16:36 來源:億速云 閱讀:105 作者:小新 欄目:web開發(fā)

這篇文章主要為大家展示了“如何使用node擼一個監(jiān)測復(fù)聯(lián)4開售短信提醒”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領(lǐng)大家一起研究并學(xué)習(xí)一下“如何使用node擼一個監(jiān)測復(fù)聯(lián)4開售短信提醒”這篇文章吧。

背景

北美復(fù)仇者聯(lián)盟4首映電影票eBay上面已經(jīng)2500美元一張票了,為了避免搶不到票 寫了個監(jiān)控復(fù)仇者聯(lián)盟4開售就發(fā)送短信的腳本,這樣我們可以第一時間進行搶票,畢竟搶到就是賺到 。。。

思路

node編寫一個抓包腳本監(jiān)測在售的電影中是否有 “復(fù)仇者聯(lián)盟” 這幾個關(guān)鍵詞,如果有則直接發(fā)送短信~

實現(xiàn)

要想實現(xiàn)我的想法,運用到了2個node庫:superagent 和 cheerio ,分別實現(xiàn)發(fā)送請求和dom節(jié)點分析。

設(shè)置定時器

這里用 setInterval 來實現(xiàn)定時,每隔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é)點

如何使用node擼一個監(jiān)測復(fù)聯(lián)4開售短信提醒

我們只需要獲取到 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)閉定時器 ~

發(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擼一個監(jiān)測復(fù)聯(lián)4開售短信提醒”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI