用這個開源工具從任何網站獲取變化提醒
那一年是 2020 年,關于大流行病的消息迅速涌來,每個人都感到完全被類似的新聞文章所淹沒,提供了不同程度的更新。
但我需要知道的是,我們的官方準則何時改變。最后,這就是對我來說最重要的事情。
無論關注的是大流行病還是最新的科技新聞,提前了解網站內容的變化都至關重要。
??changedetection.io??? 項目為網站變更檢測和通知提供了一個簡單但強大的開源解決方案。它很容易設置,而且可以通知 70 多個(還在不斷增加)不同的通知系統,如 Matrix、Mattermost、??Nextcloud???、??Signal???、??Zulip???、??Home Assistant??、電子郵件等等。它還能通知專有應用,如 Discord、Office365、Reddit、Telegram 和許多其他應用。
但 ??changeetection.io?? 并不只是局限于觀察網頁內容。你也可以監視 XML 和 JSON 源,它將建立一個 RSS 饋送,記錄變化的網站。
由于其內置的 JSON 簡單存儲系統,不需要設置復雜的數據庫來接收和存儲信息。你可以 ??使用 Docker 鏡像運行??? 或用 ??pip?
?? 安裝它。該項目有一個 ??全面的維基幫助頁??,大多數常見的問題都有涵蓋。
對于使用復雜 JavaScript 的網站,你可以用內置的 ??Playwright 內容獲取器??? 將你的 ??changeetection.io?? 連接到 Chromium 或 Chrome 瀏覽器。
運行后,在你的瀏覽器(默認情況下是 ??http://localhost:5000?
?)中訪問該應用。如果你的電腦可以從外部網絡訪問,你可以在 設置Settings中設置一個密碼。
change detection watch list
提交你想監控的頁面的 URL。有幾個與如何過濾該網頁有關的設置。例如,你很可能不想知道一家公司在其網站頁腳列出的股票價格何時發生變化,但你可能想知道他們在其博客上發布的新聞文章。
監控一個網站
想象一下,你想添加你最喜歡的網站 ??Opensource.com?? 進行監控。你只想知道主要標注文章何時包含 “python” 一詞,并且通過 Matrix 收到通知。
要做到這點,首先要使用“視覺選擇器Visual Filter Selector”工具。(這需要連接 playwright 瀏覽器界面)。
Find an element to monitor
該工具會自動計算出針對內容的最佳 Xpath 或 CSS 過濾器。否則,你會從每天的頁面更新中得到大量的噪音。
接下來,訪問“過濾器和觸發器Filters & Triggers”標簽。
Filters and triggers
在 “CSS/JSON/XPATH 過濾器CSS/JSON/XPATH Filter”區域(藍色圓圈),你可以看到上一步自動生成的 CSS 過濾器。
有幾個有用的過濾器,比如“移除元素Remove elements”(適合移除嘈雜的元素)、“忽略文本Ignore text”、“觸發/等待文本Trigger/wait for text”,和“如果文本匹配則阻止變化檢測Block change-detection if text matches”(用于等待一些文本消失,如“售罄”)。
在“觸發/等待文本Trigger/wait for text”(紅色圓圈)中,輸入你想監測的關鍵詞。(在這個例子中是 “python”)。
最后一步是在“通知Notifications”選項卡中,你要在那里配置你想收到的通知。下面我使用 Matrix API 添加了一個 Matrix 房間作為通知目標。
Notifications tab
通知的 URL 的格式是 ??matrixs://username:password@matrix.org/#/room/#room-name:matrix.org?
?。
然而,??t2Bot??? 格式也支持。這里有更多的 ??Matrix 通知選項??。
就是這些了! 現在只要內容有變化,你就會通過 Matrix 收到信息。
還有更多
??changedetection.io??? 還有很多東西。如果你喜歡調用一個自定義的 JSON API,你不需要使用通知的 API(使用 ??jsons://?
? )。你還可以創建一個自定義的 HTTP 請求(POST 和 GET),在檢查前執行 JavaScript(也許是為了預先填充一個用戶名和密碼的登錄字段),以及更多有趣的功能,更多的功能將陸續推出。
不要再瀏覽網站,而是開始監測網絡吧!?