Try our Chrome extension

Chrome store icon Chrome Webstore

Easily add the current web-page from your browser directly into your changedetection.io tool, more great features coming soon!

Changedetection.io needs your support!

You can help us by supporting changedetection.io on these platforms;

The more popular changedetection.io is, the more time we can dedicate to adding amazing features!

Many thanks :)

changedetection.io team

  • Cannot set language without session cookie
Niektóre strony wykorzystują JavaScript do generowania treści, dlatego należy skorzystaj z narzędzia Chrome/WebDriver Fetcher
W adresie URL obsługiwane są zmienne (pomoc i przykłady znajdziesz tutaj).
Nazwa tagu/grupy organizacyjnej używana na głównej stronie z listą
Jeśli tytuł strony zostanie znaleziony, zostanie on automatycznie użyty; można tu również wpisać własny tytuł/opis

Odstęp czasowy między kolejnymi sprawdzeniami.

Chcesz skorzystać z harmonogramu? Najpierw sprawdź i zapisz ustawienia strefy czasowej

Wysyła powiadomienie, gdy filtr przestaje być widoczny na stronie; przydaje się to do stwierdzenia, kiedy strona uległa zmianie i filtr przestanie działać.
Ogranicz liczbę migawek historii dla każdego obserwowanego obiektu do tej liczby elementów historii.
Ustaw na „puste”, aby zastosować domyślne ustawienia systemowe

Użyj metody Basic (domyślnej), jeśli obserwowane strony nie wymagają obsługi JavaScript do wyświetlenia.

Metoda Chrome/Javascript wymaga połączenia sieciowego z uruchomionym serwerem WebDriver+Chrome, którego adres jest określony przez zmienną środowiskową „WEBDRIVER_URL”.

Wskazówka: Połącz się za pomocą serwerów proxy Bright Data i Oxylabs – dowiedz się więcej tutaj.
Jeśli masz problem z oczekiwaniem na pełne wyświetlenie strony (brakujące fragmenty tekstu itp.), spróbuj wydłużyć tutaj czas „oczekiwania”.
Przed wyodrębnieniem tekstu system odczeka n sekund.
Korzystanie z aktualnych domyślnych ustawień globalnych

Przepraszamy, ta funkcja działa tylko z modułami pobierającymi, które obsługują interaktywny JavaScript (jak dotąd są to wyłącznie moduły oparte na Playwright).
Musisz Ustaw metodę pobierania na taką, która obsługuje interaktywny JavaScript.

Użyj ustawień domyślnych systemu

Wskazówka: Skorzystaj z adresów URL powiadomień AppRise, aby wysyłać powiadomienia do niemal każdej usługi! Prosimy o zapoznanie się z wiki poświęconą usługom powiadomień, gdzie znajdują się ważne uwagi dotyczące konfiguracji.

Pokaż zaawansowaną pomoc i wskazówki
  • discord:// (lub https://discord.com/api/webhooks...)) obsługuje maksymalnie 2 000 znaków tekstu powiadomienia, w tym tytułu.
  • tgram:// Boty nie mogą wysyłać wiadomości do innych botów, dlatego należy podać identyfikator czatu użytkownika, który nie jest botem.
  • tgram:// obsługuje jedynie bardzo ograniczony zakres kodu HTML i może nie działać poprawnie w przypadku przesłania dodatkowych tagów, więcej informacji znajdziesz tutaj (lub użyj formatu zwykłego tekstu/Markdown)
  • gets://, posts://, puts://, deletes:// w przypadku bezpośrednich wywołań API (lub pomijając "s" dla połączeń bez SSL, tj. get://) więcej pomocy znajdziesz tutaj
  • Akceptuje poniższe symbole zastępcze {{token}}
Dostosuj powiadomienia
Tytuł dla wszystkich powiadomień
Treść wszystkich powiadomień — Można użyć Jinja2 wykorzystanie szablonów w tytule powiadomienia, treści i adresie URL oraz tokenów podanych poniżej.
Pokaż tokeny/symbole zastępcze
Token Opis
{{base_url}} Adres URL instancji serwisu changedetection.io, którą uruchomiłeś.
{{watch_url}} Obserwowany adres URL.
{{watch_uuid}} Identyfikator UUID obserwacji.
{{watch_title}} Tytuł strony obserwacji; jeśli nie ustawiono go ręcznie, używany jest tag <title>, a następnie adres URL
{{watch_tag}} Grupa obserwacji / tag
{{preview_url}} Adres URL strony podglądu wygenerowanej przez serwis changedetection.io.
{{change_datetime}} Data i godzina zmiany; dopuszczalne formaty: format=, change_datetime(format='%A'); domyślną wartością jest '%Y-%m-%d %H:%M:%S %Z'
{{diff_url}} Adres URL wyników porównania dla tej obserwacji.
{{diff}} Wynik porównania – wyłącznie zmiany, dodania i usunięcia
Wszystkie warianty różnicowe obsługują lines=, context=, word_diff=, ignore_junk= argumenty, np. {{diff(lines=10)}}, {{diff_added(lines=5, context=2)}}
{{diff_clean}} Wynik porównania — wyłącznie zmiany, dodania i usunięcia — Bez (dodanego) przedrostka lub kolorów
{{diff_added}} Wynik porównania – wyłącznie zmiany i uzupełnienia
{{diff_added_clean}} Wynik porównania — wyłącznie zmiany i uzupełnienia — Bez (dodanego) przedrostka lub kolorów
{{diff_removed}} Wynik porównania – wyłącznie zmiany i usunięcia
{{diff_removed_clean}} Wynik porównania — wyłącznie zmiany i usunięcia — Bez (dodanego) przedrostka lub kolorów
{{diff_full}} Wynik różnicowy – pełny wynik różnicowy
{{diff_full_clean}} Wynik różnicowy — pełny wynik różnicowy — Bez (dodanego) przedrostka lub kolorów
{{diff_patch}} Wynik porównania – poprawka w ujednoliconym formacie
{{diff_changed_from}} Tylko słowa/wartości, które uległy zmianie w stosunku do poprzedniej wersji — np. stara cena. Najlepiej, gdy w każdym wierszu zmienia się tylko jedna wartość; wiele zmienionych fragmentów łączy się znakiem nowej linii.
{{diff_changed_to}} Tylko zmienione słowa/wartości z nowej wersji — np. nowa cena. Najlepiej, gdy w każdym wierszu zmienia się tylko jedna wartość; wiele zmienionych fragmentów należy oddzielić znakiem nowej linii.
{{current_snapshot}} Aktualna wartość treści tekstowej migawki, przydatna w połączeniu z filtrami JSON lub CSS
{{triggered_text}} Tekst, który spowodował uruchomienie filtra

Ostrzeżenie: Treść {{diff}}, {{diff_removed}}, oraz {{diff_added}} zależy od tego, jak algorytm różnicowy interpretuje tę zmianę.
Na przykład w niektórych przypadkach dodanie lub usunięcie może być postrzegane jako zmiana. Więcej tutaj
  • W przypadku danych JSON należy użyć |tojson bez cudzysłowów, aby zapewnić automatyczne zamienianie znaków, na przykład — { "name": {{ watch_title|tojson }} }
  • Kodowanie adresów URL, zastosowanie |urlencode, na przykład – gets://hook-website.com/test.php?title={{ watch_title|urlencode }}
  • Zastępowanie za pomocą wyrażeń regularnych, użycie |regex_replace, na przykład – {{ "hello world 123" | regex_replace('[0-9]+', 'no-more-numbers') }}
  • Pełny spis wszystkich wbudowanych filtrów biblioteki Jinja2 można znaleźć w https://jinja.palletsprojects.com/en/3.1.x/templates/#builtin-filters

Format wszystkich powiadomień
Pole
Operator
Wartość
Działania

Użyj przycisku „Sprawdź” (✓), aby sprawdzić, czy warunek jest spełniony w odniesieniu do bieżącej migawki.

Zapoznaj się z krótkim poradnikiem na temat wykorzystanie warunkowych zmian na stronie internetowej w tym miejscu.

✨ Sztuczna inteligencja

Skonfiguruj dostawcę usług AI / LLM w Ustawienia → AI / LLM, aby włączyć funkcje „AI Change Intent” i „AI Change Summary”.

Włącz podgląd
Porady dla profesjonalistów:
Jedna reguła CSS, xPath 1 i 2, JSON Path/selektor JQ w każdym wierszu; wszelkie reguły, które pasują, zostaną zastosowane.
Pokaż zaawansowaną pomoc i wskazówki
  • Przed konwersją tekstu należy usunąć elementy HTML za pomocą selektorów CSS i XPath.
  • Nie wklejaj tutaj kodu HTML – używaj wyłącznie selektorów CSS i XPath
  • Wpisz w jednym wierszu wiele elementów, selektorów CSS lub XPath, aby pominąć różne fragmenty kodu HTML.

Filtrowanie tekstu

Ogranicz opcje „uruchom”, „zignoruj”, „zablokuj” i „wyodrębnij” do:
Uwaga: W zależności od długości i podobieństwa tekstu w poszczególnych wierszach algorytm może na przykład rozważyć dodanie zamiast zamiany.
 Dlatego zawsze lepiej jest wybrać Dodano+Wymieniono gdy chcesz otrzymywać informacje o nowych treściach.
 Gdy treść zostanie po prostu przeniesiona w obrębie listy, spowoduje to również dodatek, rozważ włączenie tej opcji Uruchamiaj tylko wtedy, gdy pojawią się unikalne wiersze
Rozwiązanie to sprawdza się w przypadku stron internetowych, na których treść jest po prostu przestawiana, a użytkownik chce wiedzieć, kiedy pojawiają się NOWE treści; porównuje ono nowe wiersze z całą historią dla danego obserwowanego elementu.
Usuń zduplikowane wiersze tekstu
Pomaga ograniczyć liczbę wykrytych zmian spowodowanych przetasowywaniem wierszy przez strony internetowe; warto połączyć to z poniższą funkcją sprawdź unikalne wiersze.
Usuń wszelkie spacje przed i po każdym wierszu tekstu
  • Tekst, na który należy poczekać przed wywołaniem zmiany/powiadomienia; wszystkie teksty i wyrażenia regularne są sprawdzane bez uwzględniania wielkości liter.
  • Tekst wyzwalający jest przetwarzany na podstawie tekstu wynikowego pochodzącego z dowolnych filtrów CSS/JSON dla tej obserwacji
  • Każdy wiersz jest przetwarzany osobno (każdy wiersz należy traktować jako „LUB”)
  • Uwaga: Aby użyć wyrażenia regularnego, należy ująć je w ukośniki /. Przykład: /foo\d/
  • Można również skorzystać z warunki - „Tekst strony” – z opcjami „Zawiera”, „Zaczyna się od”, „Nie zawiera” i wieloma innymi /foo\d/
  • Zgodny tekst zostanie pominięty w migawce tekstu (nadal będzie widoczny, ale nie spowoduje to zmiany)
  • Każdy wiersz jest przetwarzany osobno; wszelkie pasujące wiersze zostaną pominięte (usunięte przed utworzeniem sumy kontrolnej)
  • Obsługa wyrażeń regularnych – cała linia powinna być otoczona ukośnikami /regex/
  • Zmiana tej wartości wpłynie na sumę kontrolną służącą do porównania, co może spowodować wygenerowanie ostrzeżenia


  • Zablokuj wykrywanie zmian, dopóki ten tekst znajduje się na stronie; wszystkie teksty i wyrażenia regularne są sprawdzane bez uwzględniania wielkości liter. Przydaje się to podczas oczekiwania na ponowną dostępność produktu
  • Tekst blokujący jest przetwarzany na podstawie tekstu wynikowego pochodzącego z dowolnych filtrów CSS/JSON dla tej obserwacji
  • Żadna z podanych tutaj linii nie może istnieć (każdą linię należy traktować jako „LUB”)
  • Uwaga: Aby użyć wyrażenia regularnego, należy ująć je w ukośniki /. Przykład: /foo\d/
  • Zachowaj tylko wiersze zawierające którekolwiek z poniższych słów lub fraz (tekst zwykły, bez rozróżniania wielkości liter)
  • Jedna pozycja w każdym wierszu — zachowywany jest każdy wiersz tekstu strony, który zawiera pasujące wyrażenie
  • Prostsza alternatywa dla wyrażeń regularnych — skorzystaj z niej, gdy chcesz wyświetlić tylko wiersze dotyczące konkretnego tematu
  • Przykład: wpisz celsius, aby zachować tylko wiersze zawierające odczyty temperatury
  • Wyodrębnia tekst w ostatecznym wyniku (wiersz po wierszu) po zastosowaniu innych filtrów wykorzystujących wyrażenia regularne lub dopasowanie ciągów znaków:
    • Wyrażenie regularne – przykład /reports.+?2022/i
    • Nie zapomnij uwzględnić odstępów na początku wiersza /.+?reports.+?2022/i
    • Użyj flag typu //(?aiLmsux)) (więcej informacji tutaj)
    • Przykład słowa kluczowego – przykład: Brak na stanie
    • Skorzystaj z grup, aby wyodrębnić właśnie ten tekst – przykład /reports.+?(\d+)/i zwraca wyłącznie listę lat
    • Przykład – wyszukiwanie wierszy zawierających słowo kluczowe /.*icecream.*/
  • Jedna linia na każde dopasowanie wyrażenia regularnego do ciągu znaków

Przepraszamy, ta funkcja działa tylko w przypadku narzędzi do pobierania danych, które obsługują JavaScript i zrzuty ekranu (takich jak Playwright itp.).
Musisz Ustaw metodę pobierania na taki, który obsługuje JavaScript i zrzuty ekranu.

Liczba sprawdzeń 2
Kolejne awarie filtrów 0
Długość historii 2
Czas trwania ostatniego pobrania 0.916s
Liczba powiadomień 0
Odpowiedź dotycząca typu serwera cloudflare

Szczegóły podobieństwa tekstu metodą Levenshteina

Surowa odległość (wymagane edycje) 886
Współczynnik podobieństwa 0.8653
Procent podobieństwa 86.53%

Metryki Levenshteina porównują dwie ostatnie migawki, określając liczbę zmian znaków potrzebnych do przekształcenia jednej w drugą.

Analiza treści

Liczba słów (najnowsza migawka) 431

Liczba słów to prosta miara długości treści, obliczana przez podzielenie tekstu według białych znaków.

Pobierz najnowszą wersję HTML Pobierz pakiet danych obserwacji