Robot internetowy - techniki poprawy efektywności
Click here to load reader
-
Upload
truongxuyen -
Category
Documents
-
view
213 -
download
0
Transcript of Robot internetowy - techniki poprawy efektywności
Robot internetowy
metody poprawy efektywności
Jakub Stolpe
Agenda
• Definicja robota• Budowa robota• Optymalizacje poszczególnych modułów
Definicja robota
Robot internetowy to program (skrypt), który metodycznie i w sposób automatyczny porusza się po stronach internetowych. Poczynając od zdefiniowanej puli początkowych adresów URL przechodzi do kolejnych lokalizacji przez zawarte na stronach hiperłącza.
Inne określenia robota internetowego:pełzacz, pająk, bot, (web) robot, z angielskiego (web) crawler, (web) spider, warm, ant.
Budowa
Algorytm robota
Lista adresów początkowych
Pobranie adresu URL z kolejki
Pobranie dokumentu
Wyselekcjonowanie hiperłączy
Dodanie nieodwiedzonych hiperłączy do kolejki
Optymalizacja kolejki adresów URL
• Sortowanie adresów w kolejce• Kolejka z priorytetami• Odwiedzanie stron wg PageRank
Unikanie wielokrotnych odwiedzin (URL-seen)Rzeczywista struktura WWW – grafStruktura WWW dla robota – drzewo
Zbiór już odwiedzonych adresów URL• Hashtable lub słownik przyspiszajacy
wyszukiwanie• Haszowanie URI (funkcje skrótu zmniejszają ilość
potrzebnej pamięci oraz przyspieszają wyszukiwanie)
Hierarchia sieci Web dla robota
Adresy z listy początkowej to poziom zerowy, dokumenty, do których prowadzą odnośniki na nich znalezione otrzymują poziom pierwszy, itd.
Zaawansowane roboty wieloprocesowe
Zaawansowane roboty wieloprocesowe
• Użycie klastrów• Podział Web pomiedzy procesy (wybrany proces
dokonuje eksploracji dokumentów z serwerów z zadanego zakresu adresów IP)
• Niezależnosć procesów• Wymiana odkrytych hiperłączy między procesami
Moduł pobierający dokumenty
• Ściąganie tylko określonej cześci dokumentu (obecnie raczej niestosowane)
• Wielowątkowość
Techniki zapobiegające przeciążaniu serwerów• Interwały czasowe pomiędzy kolejnymi
zapytaniami do tego samego serwera• Naprzemienne zapytania do różnych serwerów
Bibliografia1. Crawling the Web – Gautam Pant, Padmini Srinivasan, Filippo
Menczer2. Design and Implementation of a Distributed Crawler and
Filtering Processor – Demetrios Zeinalipour-Yazti, Marios Dikaiakos
3. Mercator: A Scalable, Extensible Web Crawler – Allan Heydon, Marc Najork
4. Design and Implementation of a High-Performance Distributed Web Crawler – Vladislav Shkapenyuk, Torsten Suel
5. UbiCrawler: A Scalable Fully Distributed Web Crawler – Paolo Boldi, Bruno Codenotti, Massimo Santini, Sebastiano Vigna
6. Search Engines and Web Dynamics – Knut Magne Risvik, Rolf Michelsen
Dziekuję.