Webtracker: Różnice pomiędzy wersjami
(Utworzono pustą stronę) |
(Info o uruchamianiu) Znacznik: visualeditor |
||
| (Nie pokazano 1 pośredniej wersji utworzonej przez tego samego użytkownika) | |||
| Linia 1: | Linia 1: | ||
Webtracker to narzędzie napisane w języku PHP do wykrywania zmian na stronach WWW. | |||
Skrypt tworzy plik xml z definicjami tasków 2 typów: | |||
* zmiana na stronie (zmiany w treści strony lub znalezione nowe podstrony) | |||
* błędy podczas pobierania stron | |||
Webtracker uruchamiany jest w poniedziałki, środy i piątki o 1:30 w nocy. | |||
== Skrypty == | |||
Na Webtracker składa się 7 plików: | |||
* DataSource.php | |||
* FineDiff.php | |||
* Keywords.php | |||
* KLogger.php | |||
* SiteComparator.php | |||
* Webtracker.php | |||
* XMLFileWriter.php | |||
'''DataSource''' zawiera konfigurację dostępu do bazy danych oraz zapytania SQL pobierające strony do przeskanowania. | |||
'''Keywords''' to lista słów kluczowych, które powodują uznanie zmiany bądź odnośnika za wartościowego dla nas. | |||
'''KLogger''' zawiera definicję klasy logującej. | |||
'''FineDiff''' zawiera definicję klasy analizującej zmiany na stronie w stosunku do zapisanej kopii. Kod pochodzi ze strony http://www.raymondhill.net/finediff/. | |||
Opisy pozostałych 3 najważniejszych skryptów znajdują się poniżej. | |||
=== Webtracker === | |||
Jest to startowy skrypt, który pełni role kontrolera. Uruchamiany z jednym argumentem - nazwą wynikowego pliku xml. | |||
Program rozpoczyna działanie od pobrania z bazy danych listy adresów do stron za pomocą zapytań zdefiniowanych w ''DataSource'' oraz usunięcia duplikatów i linków prowadzących do różnych podstron tej samej domeny. Następnie dla każdej strony, uruchamiany jest ''SiteComparator'', którego wynik jest przekazywany do ''XMLFileWritera''. | |||
Po przeskanowaniu wszystkich stron, wywoływana jest metoda klasy ''XMLFileWriter'', która zapisuje kolekcję zmian do pliku xml w postaci listy tasków. | |||
=== SiteComparator === | |||
Klasa zajmuje się przeskanowaniem strony wraz z podstronami (do zadanej głębokości) oraz wyszukaniem zmian w stosunku do kopii zapisanej na dysku podczas ostatniego skanowania. | |||
Skrypt pobiera stronę główną oraz znalezione wartościowe podstrony (posiadające w linku lub w nazwie odnośnika przynajmniej jedno słowo kluczowe zdefiniowane w ''Keywords'') z użyciem biblioteki ''curl.'' Do oczyszczenia tekstu z kodu html używany jest ''lynx''. Oczyszczona lista stron jest przetwarzana z użyciem ''FineDiffa'' w celu odszukania istotnych zmian (także biorąc pod uwagę słowa kluczowe). | |||
=== XMLFileWriter === | |||
Klasa służy do budowania dokumentu xml oraz do zapisania jego do pliku. | |||
Skrypt zbiera 2 rodzaje zadań: zmiany na stronie oraz błędy. Każde zadanie posiada następujące pola: | |||
* id obiektu (źródło, band) | |||
* typ obiektu (''SOURCE'', ''BAND'') | |||
* wiadomość | |||
Jeżeli wiadomość jest dłuższa niż 200 znaków, pozostała część jest obcinana, a na koniec dodawany jest wielokropek. | |||
Wiadomości dotyczące zmian na stronie posiadają informację o liczbie zmian, a każda zmiana poprzedzona jest informacją jakie słowo kluczowe zdecydowało o uznaniu zmiany za ważną. | |||
Aktualna wersja na dzień 12:59, 27 kwi 2016
Webtracker to narzędzie napisane w języku PHP do wykrywania zmian na stronach WWW.
Skrypt tworzy plik xml z definicjami tasków 2 typów:
- zmiana na stronie (zmiany w treści strony lub znalezione nowe podstrony)
- błędy podczas pobierania stron
Webtracker uruchamiany jest w poniedziałki, środy i piątki o 1:30 w nocy.
Skrypty
Na Webtracker składa się 7 plików:
- DataSource.php
- FineDiff.php
- Keywords.php
- KLogger.php
- SiteComparator.php
- Webtracker.php
- XMLFileWriter.php
DataSource zawiera konfigurację dostępu do bazy danych oraz zapytania SQL pobierające strony do przeskanowania.
Keywords to lista słów kluczowych, które powodują uznanie zmiany bądź odnośnika za wartościowego dla nas.
KLogger zawiera definicję klasy logującej.
FineDiff zawiera definicję klasy analizującej zmiany na stronie w stosunku do zapisanej kopii. Kod pochodzi ze strony http://www.raymondhill.net/finediff/.
Opisy pozostałych 3 najważniejszych skryptów znajdują się poniżej.
Webtracker
Jest to startowy skrypt, który pełni role kontrolera. Uruchamiany z jednym argumentem - nazwą wynikowego pliku xml.
Program rozpoczyna działanie od pobrania z bazy danych listy adresów do stron za pomocą zapytań zdefiniowanych w DataSource oraz usunięcia duplikatów i linków prowadzących do różnych podstron tej samej domeny. Następnie dla każdej strony, uruchamiany jest SiteComparator, którego wynik jest przekazywany do XMLFileWritera.
Po przeskanowaniu wszystkich stron, wywoływana jest metoda klasy XMLFileWriter, która zapisuje kolekcję zmian do pliku xml w postaci listy tasków.
SiteComparator
Klasa zajmuje się przeskanowaniem strony wraz z podstronami (do zadanej głębokości) oraz wyszukaniem zmian w stosunku do kopii zapisanej na dysku podczas ostatniego skanowania.
Skrypt pobiera stronę główną oraz znalezione wartościowe podstrony (posiadające w linku lub w nazwie odnośnika przynajmniej jedno słowo kluczowe zdefiniowane w Keywords) z użyciem biblioteki curl. Do oczyszczenia tekstu z kodu html używany jest lynx. Oczyszczona lista stron jest przetwarzana z użyciem FineDiffa w celu odszukania istotnych zmian (także biorąc pod uwagę słowa kluczowe).
XMLFileWriter
Klasa służy do budowania dokumentu xml oraz do zapisania jego do pliku.
Skrypt zbiera 2 rodzaje zadań: zmiany na stronie oraz błędy. Każde zadanie posiada następujące pola:
- id obiektu (źródło, band)
- typ obiektu (SOURCE, BAND)
- wiadomość
Jeżeli wiadomość jest dłuższa niż 200 znaków, pozostała część jest obcinana, a na koniec dodawany jest wielokropek.
Wiadomości dotyczące zmian na stronie posiadają informację o liczbie zmian, a każda zmiana poprzedzona jest informacją jakie słowo kluczowe zdecydowało o uznaniu zmiany za ważną.