Robot internetowy - techniki poprawy efektywności

13

Click here to load reader

Transcript of Robot internetowy - techniki poprawy efektywności

Page 1: Robot internetowy - techniki poprawy efektywności

Robot internetowy

metody poprawy efektywności

Jakub Stolpe

Page 2: Robot internetowy - techniki poprawy efektywności

Agenda

• Definicja robota• Budowa robota• Optymalizacje poszczególnych modułów

Page 3: Robot internetowy - techniki poprawy efektywności

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.

Page 4: Robot internetowy - techniki poprawy efektywności

Budowa

Page 5: Robot internetowy - techniki poprawy efektywności

Algorytm robota

Lista adresów początkowych

Pobranie adresu URL z kolejki

Pobranie dokumentu

Wyselekcjonowanie hiperłączy

Dodanie nieodwiedzonych hiperłączy do kolejki

Page 6: Robot internetowy - techniki poprawy efektywności

Optymalizacja kolejki adresów URL

• Sortowanie adresów w kolejce• Kolejka z priorytetami• Odwiedzanie stron wg PageRank

Page 7: Robot internetowy - techniki poprawy efektywności

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)

Page 8: Robot internetowy - techniki poprawy efektywności

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.

Page 9: Robot internetowy - techniki poprawy efektywności

Zaawansowane roboty wieloprocesowe

Page 10: Robot internetowy - techniki poprawy efektywności

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

Page 11: Robot internetowy - techniki poprawy efektywności

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

Page 12: Robot internetowy - techniki poprawy efektywności

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

Page 13: Robot internetowy - techniki poprawy efektywności

Dziekuję.

[email protected]