duminică, 25 noiembrie 2007

Cum sa-ti faci propriul Crawler? Partea a 2-a

Buun, ne-am intors cu partea a doua (si ultima) despre crawlere, la sfarsit, vom avea si niste cod disponibil.
Ok unde ramasesem? Hmmm...nu mai tin minte. A! Da! Probleme de implementare. Ok, pana acum am presupus ca informatiile(link-urike) pe care le cautam sunt valide. Nu este chiar asa simplu: unele link-uri s-ar putea sa fie momentan sau permanent indisponibile, altele s-ar putea sa fie pur si simplu scrise gresit. Nu voi intra in detaliu, deoarece majoritatea limbajelor au posibilitatea de tratare a acestor greseli/erori/exceptii. O mica nota: pentru link-urile care nu mai sunt valide, se poate folosi WayBack Machine (care se bazeaza tot pe un crawler), unde se poate gasi un snapshot al unei pagini la o anumita data.
Acum avem toate link-urile valide, numai ca nu sunt toate necesare. De exemplu, unele link-uri sunt spre site-ul curent. Si asta se face usor.
Sa zicem ca am terminat. Dupa cum am spus anterior, eu am ales sa fac acest script in Python si rezultatul va fi un graf orientat. Asa arata rezultatul:


Eu am folosit Graphviz pentru a defini graf-ul. Este usor de folosit, foarte customizabil si graf-ul poate capata diferite forme.
Cam atat despre mini crawler-ul nostru. Mai multe implementari aici, adica pe site-ul nostru weblab.3x.ro . Sper ca a fost cat de cat interesant.

PS: Despre WayBack Machine si crawler-ul asociat se pot spune multe. Crawler-ul este open source. Nici nu vreau sa ma gandesc in cate feluri se poate folosi WayBack Machine. Totusi, voi da un exemplu: Un crawler temporal care poate observa nu doar relatiile prezente dintre site-uri/entitati ci si relatiile temporale. Am spus destul.

Un comentariu:

Anonim spunea...

Hmmm, nu m-am gandit sa fac o reprezentara vizuala pentru rezultatele crawler-ului meu. Merci de idee!