Pewnie nikt z Was o nim nie słyszał? Kim jest tajemniczy Xidel, a może czym? I co ma wspólnego z SEO? Już pewnie domyślacie się o czym będzie ten wpis. Zaprezentuję w nim małe, zgrabne i niezwykle funkcjonalne narzędzie o nazwie Xidel. Do czego można wykorzystać ów software? Oczywiście do data miningu, czyli inaczej mówiąc do pozyskiwania (scrapowania) wszelkiego typu informacji, do których zaliczyć można adresy katalogów i precli, proxy, wyniki wyszukiwania, obrazki, zdjęcia.
Darmowy scraper XQuery, XPath, CSS3
Xidel odstrasza interfejsem, hmm… a raczej jego brakiem. Zapewne zbyt wielu osobom nie przypadnie on do gustu, ale to dobrze, albowiem czym mniej osób o nim wie (i posługuje się nim) tym lepiej. Obsługa narzędzia odbywa się z poziomu okna konsoli. Jak to mówią coś za coś. Zyskujemy mega funkcjonalność kosztem wyglądu, lecz tak w rzeczywistości interesuje nas wyłącznie druga opcja.
Aktualnie Xidel pozwala konstruować wyrażenia za pomocą języka ścieżek XPath 2.0, języka zapytań XML – XQuery 1.0, selektorów CSS3, a także templatek czyli uproszczonych wersji stron, które stanowią swoisty wzorzec.
Poniżej podaję kilka przykładów dla XPath. Więcej przykładów i szczegółowe informacje na temat narzędzia znajdziecie w pliku pomocy (readme.txt).
Wyciąganie adresów katalogów…
xidel.exe http://www.katalogiseo.info --extract "//tr/td/a[@class='broken']"
Wyciąganie kilku danych jednocześnie (w tym przykładzie adres katalogu i typ skryptu)…
xidel http://www.katalogiseo.info -e "//tr/td/a[@class='broken']" -e "//tr/td[3]/a"
Po wykonaniu instrukcji, program domyślnie wyświetli dane w oknie konsoli. Oczywiście takie coś nas kompletnie nie urządza, najprostszym sposobem zapisu danych jest przekierowanie strumienia do określonego pliku. Więc zmodyfikujemy polecenie…
xidel http://www.katalogiseo.info -e "//tr/td/a[@class='broken']" -e "//tr/td[3]/a" >d:\dane.txt
Mając plik wynikowy można dokonać dalszej obróbki w edytorze tekstu lub arkuszu kalkulacyjnym.
Pewnie powiecie, co w tym narzędziu takiego ciekawego? Przecież ręczne scrapowanie nie należy do przyjemności. Cóż, racja! Lecz nic nie stoi na przeszkodzie (poza chęciami i umiejętnościami oczywiście), by napisać skrypt, który automatycznie wyodrębni dane ze strony internetowej. Jeśli dodamy do tego, że Xidel wspiera różne techniki (języki) scrapowania, można z niego mieć spory pożytek i to w dodatku całkowicie za free, albowiem soft udostępniany jest jako Open Source.
Xidel to bardzo interesujący projekt, którego rozwój warto śledzić!