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