Mainseek Spider


Spider jest narzędziem służącym do pobierania oraz przetwarzania danych z serwerów http. Umożliwia on przetworzenie danych znajdujących sie na stronach www do takiej postaci aby można było ich używać w bazach danych, wyszukiwarkach, itp. Obecnie spider potrafi przetwarzać strony opisane za pomocą html + JavaScript oraz dane w formacie XML.

Istnieją cztery odmiany spidera:

  1. Wersja podstawa - służąca do pobierania danych ze serwisów web a następnie zapisania ich do dowolnego pliku tekstowego, bazy mysql, mainseek searcha. Jest to program uruchamiany z linii komend, który jako jeden z parametrów przyjmuje nazwę pliku skryptowego zawierający opisany za pomocą specjalnego języka skryptowego sposób w jaki dane mają zostać pobrane, a następnie przetworzone. Wersje te można używać także jako narzędzie służące do przetwarzania danych znajdujących się w plikach CSV oraz IDX.

    Rysunek poniżej przedstawia ogolną koncepcje działania podstawowej wersji spidera.



    Na wejściu spider dostaje pliki konfiguracyjne (Configuration files) wykorzystujące specjalny język skryptowy, w których zawarte są instrukcje przetwarzania oraz ekstrakcji danych.

    Język skryptowy spidera zawiera następujące elementy:

    • Zmienne lokalne oraz globalne
    • Instrukcje warunkowe
    • Pętle
    • Możliwość definiowania funkcji użytkownika
    • Tablice
    • Wbudowane funkcje: przetwarzania tekstu,obsługi struktury dokumentu HTML, zarzadzania wewnętrzna kolejką przetwarzania, kryptograficzne,obsługi formularzy, obsługi źródeł oraz magazynów danych

    Dodatkowo istnieje możliwość utworzenia tzw. źródeł danych w których można np. zdefiniować listę URL’i jaka ma zostać przetworzona. źródła danych są najczęściej wykorzystywane w procesie wieloetapowego pobierania danych, w których dane wynikowe dane z poprzedniego etapu stają się danymi źródłowymi biezącego etapu. Z wieloetapowym przetwarzaniem danych mamy do czynienia np. podczas ekstrakcji danych z sklepu internetowego. Obecnie źródłami danych moga być pliki CSV oraz pliki IDX (używane przez mainseek search engine). Spider przetworzone dane zapisuje w tzw. magazynie danych czyli dowolnym pliku tekstowym lub tabeli bazy mysql. Istnieją pre definiowane magazyny dla plików CSV oraz plików IDX.

  2. Wersja z wbudowanym serwerem http. Zawiera ona dodatkowo wbudowany moduł przechowywania zgromadzonych przez spidera danych wraz z możliwości ich wielokryterialnego przeszukiwania oraz moduł serwera http, zwracający dane w postaci XML.Struktura takiego spidera została przedstawiona na rysunku poniżej :


  3. Wersja umożliwiająca rozproszone przetwarzanie, składa sie ona z centralnej jednostki zarządzającej oraz dowolnej liczby jednostek ściągających oraz przetwarzających dane:


    Rozwiazanie takie umożliwia rozłożenie pracy spidera na wiele serwerów.
    Dodatkowo istniej narzedzie stworzone na bazie spidera służace do wykonywania zrzutów ekranowych stron, a następnie przeskalowania oraz zapisywania ich do plików graficznych w formacie jpeg,png oraz bmp.
    Uzupelnieniem spidera jest środowisko służące do graficznego tworzenia skryptów konfiguracyjnych oraz ich debugowania. Narzędzie to także zawiera funkcje służące do zarządzania skryptami.