使用 Apify 和 Integromat 免費監控您網站的正常運行時間
已發表: 2019-06-08那裡有很多正常運行時間監控服務,不幸的是,它們中的大多數都需要每月訂閱。 少數看起來確實可靠的免費軟件並不能很好地控制您的網站的檢查方式。 我最喜歡的監控服務曾經是 Pingdom,但他們最近停止了他們的免費計劃,這迫使我尋找新的東西。 經過一些實驗後,我能夠以適合我監控需求的方式設置 Apify 和 Integromat。
首先這裡是對這兩種服務的一個小介紹:
阿皮菲
Apify 是一個“網絡抓取和自動化平台”。 基本上,它允許您抓取任何網站並將可用信息轉換為易於使用的 API。 例如,Google 沒有用於獲取搜索結果的官方 API,因此唯一的選擇是從 Google SERP 中抓取 HTML 並提取您需要的數據。 Apify 可以輕鬆地為您自動執行此過程。 在我們的例子中,我們將配置它來抓取我們自己的網站以查看它是否在線。
積分
該服務是一個在線自動化平台。 它允許您定義在某些觸發器上執行的操作。 例如,您可以定義一個場景,在該場景中,只要有人提交 Google 表單,就會在待辦事項列表應用程序中創建一個新任務。 換句話說,它集成了不直接相互通信的服務。
對於我們的場景,我們將在 Apify 發現問題時使用 Integromat 發送通知。
流程概述
以下是其工作原理的簡要概述:
- Apify 會定期抓取您網站上的頁面並查找關鍵字
- Integromat 中的一個模塊將在每次爬取結束時接收結果
- 過濾器將檢查抓取數據以查看網站是否離線或未找到所需的關鍵字
- 如果網站離線,過濾器會讓第二個 Integromat 模塊運行並向您發送通知
讓我們開始吧!
設置 Apify
- 註冊一個免費的 Apify 帳戶或登錄(如果您有現有帳戶)
- 轉到您帳戶中的爬蟲部分並創建一個新的爬蟲

- 在基本設置選項卡中為您的爬蟲添加一個名稱
- 在“起始 URL”字段中輸入您要檢查的 URL
- 從“可點擊元素”字段中刪除所有內容,因為我們不希望爬蟲在網站上四處移動。 我們只想檢查一個頁面。

- 在“頁面功能”區域,添加以下代碼。 它將檢查頁面正文中的關鍵字“YOUR KEYWORD HERE”。 確保將其替換為您自己的關鍵字。
function pageFunction(context) { // called on every page the crawler visits, use it to extract data from it var $ = context.jQuery; var result = { title: $('title').text(), online: $('body').text().indexOf('YOUR KEYWORD HERE') !== -1 ? '1' : '0' }; return result; }
- 切換到高級設置選項卡
- 將“每次抓取的最大頁面數”設置為 1,因為我們只想檢查單個頁面
- 保存爬蟲設置
- 切換到運行控制台選項卡
- 單擊運行按鈕並確保結果下顯示正確的值

- 從側邊欄中選擇“計劃”,然後單擊“新建”

- 在“設置”選項卡下的“Cron 表達式”字段中輸入@hourly 並保存設置
- 切換到“爬蟲”選項卡,添加你的爬蟲並保存。 現在您的新爬蟲將每小時運行一次。
設置 Integromat
- 註冊一個免費的 Integromat 帳戶,如果您已有帳戶,請登錄
- 單擊屏幕右上角的創建新場景按鈕

- 您將被問到“您要集成哪些服務?”。 選擇 Apify 並按繼續

- 單擊屏幕中間的問號,然後選擇 Apify

- 在觸發器下選擇“Watch Crawler Executions”

- 當提示輸入 webhook 時,單擊“添加”按鈕

- 在“添加掛鉤”彈出窗口中,單擊“連接”下的“添加”按鈕

- 在“創建連接”彈出窗口中添加您的 Apify 憑據,然後單擊繼續。 您可以在 Apify 帳戶的
Account > Integrations
下獲取“User ID”和“API Token”。
- 添加連接後,從“Crawler”下拉列表中選擇您在上一步中創建的 Apify 爬蟲

- 在“添加掛鉤”彈出窗口中單擊“保存”
- 在 Apify 主彈出窗口中單擊“確定”

- 新的 webhook 現已準備就緒。 哇!
您現在已經成功地為您的 Apify 爬網創建了一個偵聽器。 現在您需要為爬網完成添加一個操作。 為此,您需要添加另一個模塊。 在這裡,您可以選擇添加您喜歡的任何模塊。 您可以選擇添加 Gmail 模塊以將通知發送到您的收件箱。 我將跳過這部分的說明,因為屏幕上的說明非常不言自明。 我個人選擇 Slack 作為我的第二個模塊,因為我不願意讓第三方訪問我的電子郵件。

添加第二個模塊後,單擊連接兩個模塊的三個點並添加這些值:

這意味著如果 Apify 發送的爬網數據沒有“在線”屬性(用於服務器超時錯誤等),或者有“在線”屬性可用但其值等於 0,則您只希望第二個模塊運行(頁面加載正常,但未找到關鍵字)。
測試
打開您的 Apify 爬蟲設置並將無法訪問的 URL 保存為“起始 URL”字段值。 現在,當您運行新的爬網時,它會失敗,Integromat 中的第二個模塊將被觸發,您將收到新的通知!
就這樣! 您的網站現在受到全天候監控,您無需支付一美元。 隨意探索本文中提到的兩項服務,以找到更多很棒的選項和用例。