推薦一個“牛逼”的開源的網(wǎng)站變化檢測系統(tǒng)
現(xiàn)在的互聯(lián)網(wǎng)服務(wù)已經(jīng)深入社會方方面面,監(jiān)控網(wǎng)站的變化是許多網(wǎng)站管理人員、信息采集人員、開發(fā)人員、運營人員,或者是普通人經(jīng)常需要做的事情,比如:前段時間我就不斷的關(guān)注教育局網(wǎng)站的"小升初"政策,目的是希望第一時間獲得政策信息,便于后面為小孩填報初中志愿。又比如:我有時候會跟蹤電商網(wǎng)站的某個商品價格,希望在它最優(yōu)惠的時候購買。還比如:我們要從網(wǎng)站合規(guī)爬取公開信息,但是我們不希望頻繁的去訪問網(wǎng)站,也不想每次都全量獲取信息,因此跟蹤網(wǎng)站信息是否發(fā)生變化,非常有必要。
以上這些場景,如果沒有自動化技術(shù)的應(yīng)用,我只能是重復(fù)著每隔一段時間去打開網(wǎng)站查看相關(guān)內(nèi)容。這種做法顯然太笨拙。
本文主要推薦的是一個開源網(wǎng)頁變更檢測系統(tǒng)—— Changedetection。
Changedetection在GitHub具有16.8K星,源碼地址:https://github.com/dgtlmoon/changedetection.io
主要的功能特性:
- 許多觸發(fā)器過濾器,例如“文本觸發(fā)器”、“通過選擇器刪除文本”、“忽略文本”、“提取文本”,也使用正則表達式!
- 使用xPath(1.0)和CSS選擇器定位元素,使用JSONPath或jq輕松監(jiān)控復(fù)雜的JSON
- 可在非JS和基于Chrome JS的“抓取器”之間快速切換
- 跟蹤PDF文件中的更改(監(jiān)控PDF中更改的文本,還監(jiān)控PDF文件大小和校驗)
- 輕松設(shè)置檢測網(wǎng)站的頻率
- 在提取文本之前執(zhí)行JS(用于登錄,參見UI中的示例!)
- 請求頭,指定POST或GET和其他方法
- 使用“視覺工具”幫助定位特定元素
- 每個監(jiān)視可配置代理
- 在網(wǎng)頁中檢測到更改時,發(fā)送帶有通知的屏幕截圖
使用操作舉例
(1) 支持使用視覺選擇器工具定位網(wǎng)頁的特定部分
因此,很容易看到什么改變了,檢查的字,行,或個別字符。
(2) 支持檢測流程配置
使用瀏覽器步驟配置,在執(zhí)行網(wǎng)頁變更檢測之前可以添加基本步驟,例如登錄網(wǎng)站、將產(chǎn)品添加到購物車、接受cookie登錄、輸入日期和優(yōu)化搜索。
(3) 支持驚艷的補貨和價格變化通知
通過啟用“單個產(chǎn)品頁面的重新庫存價格檢測”選項以激活監(jiān)控產(chǎn)品定價的最佳方式,這將提取HTML頁面中的任何元數(shù)據(jù),并為您提供許多選項來跟蹤產(chǎn)品的定價。
之后,通過儀表板就可以輕松監(jiān)控產(chǎn)品價格,當(dāng)產(chǎn)品價格發(fā)生變化或再次有貨時,獲得警報和通知!
可以設(shè)置價格變化通知參數(shù),價格上限和下限,價格變化百分比等。
應(yīng)用場景舉例
- 產(chǎn)品和服務(wù)在定價上有變化
- 缺貨通知和返回庫存通知
- 監(jiān)控和跟蹤PDF文件的更改,了解PDF文件何時有文本更改。
- 政府部門更新(更改通常僅在其網(wǎng)站上)
- 新的軟件發(fā)布,當(dāng)你不在他們的郵件列表中時的安全公告。
- 對變化感到困惑
- 補貨警報和監(jiān)控
- 房地產(chǎn)上市變化
- 知道什么時候你最喜歡的威士忌是銷售,或其他特殊交易宣布之前,任何人
- 來自政府網(wǎng)站的COVID相關(guān)新聞
- 關(guān)注大學(xué)/組織新聞網(wǎng)站
- 檢測和監(jiān)控JSON API響應(yīng)中的更改
- JSON API監(jiān)控和警報
- 法律的和其他文件的變更
- 當(dāng)文本出現(xiàn)在網(wǎng)站上時,通過通知觸發(fā)API調(diào)用
- 使用JSON過濾器和JSON通知將API粘合在一起
- 根據(jù)Web內(nèi)容的變化創(chuàng)建RSS源
- 監(jiān)控HTML源代碼的意外更改,加強您的PCI合規(guī)性
- 你有一個非常敏感的URL列表要看,你不想使用付費的替代品。(記住,你就是產(chǎn)品)
- 當(dāng)某些關(guān)鍵字出現(xiàn)在Twitter搜索結(jié)果中時獲得通知
- 主動搜索工作,在公司更新職業(yè)頁面時獲得通知,搜索工作門戶網(wǎng)站的關(guān)鍵字。
- 在招聘平臺上有新職位空缺時獲取提醒
- 網(wǎng)站污損監(jiān)控
- 合規(guī)監(jiān)管
安裝使用
這個項目支持使用Docker 安裝。
docker compose up -d
單例模式啟動Docker:
docker run -d --restart always -p "127.0.0.1:5000:5000" -v datastore-volume:/datastore --name changedetection.io dgtlmoon/changedetection.io
也可以使用Pip安裝:
pip3 install changedetection.io
changedetection.io -d /path/to/empty/data/dir -p 5000
然后訪問http://127.0.0.1:5000,即可訪問UI。
該項目使用MIT開源許可證,因此也可以基于這個項目進行擴展開發(fā)、研究、部署。