Crawler (robot wyszukiwarki)
Crawler to program, który automatycznie przechodzi strony po linkach, na przykład robot wyszukiwarki.
Zaktualizowano · Redakcja Prokso
Crawler zaczyna od jednej strony, znajduje na niej linki i przechodzi dalej. Tak wyszukiwarki budują indeks, a programy SEO znajdują niedziałające linki i duplikaty.
Różnica w stosunku do zbierania danych leży w celu: crawler przechodzi stronę, a parser wyciąga konkretne dane. W praktyce jeden program często robi jedno i drugie.
Rzetelne crawlery czytają robots.txt, utrzymują umiarkowane tempo i przedstawiają się w User-Agent.
Ustawienia proxy dla popularnych programów, na przykład Screaming Frog i Scrapy, znajdziesz w dziale instrukcje.
Jak zaplanować przeszukiwanie przed startem
Zacznij od mapy strony: jej adres często podaje się w robots.txt w linii Sitemap:. Daje ona listę stron bez przechodzenia po każdym linku. Następnie ustal granice: maksymalną głębokość od strony startowej, liczbę stron i domeny, które crawler może odwiedzać.
Sprowadzaj adresy do jednej postaci, zanim dodasz je do kolejki. Usuwaj parametry śledzenia takie jak utm_source, zapisuj nazwę hosta małymi literami, zawsze tak samo traktuj ukośnik na końcu a kombinacji filtrów i niekończących się kalendarzy nie odwiedzaj wcale. Inaczej crawler odwiedzi tę samą stronę pod setkami adresów.
Tempo i odpowiedzi serwera
Dla jednej strony ostrożnym punktem startowym jest jedno żądanie co jedną do kilku sekund; jeśli w robots.txt jest Crawl-delay, przyjmij tę wartość. Reaguj na kody odpowiedzi: przy 429 i 503 czekaj tyle, ile mówi nagłówek Retry-After, a jeśli błędy się nie kończą, zatrzymaj przeszukiwanie.
Żądania warunkowe oszczędzają zarówno zasoby strony, jak i Twój transfer. Wysyłaj If-Modified-Since lub If-None-Match z wartością z poprzedniej wizyty, a niezmieniona strona zwróci 304 bez treści.
Uprzejme ustawienia w Scrapy
ROBOTSTXT_OBEY = True: Scrapy czyta robots.txt i nie odwiedza zamkniętych sekcji.DOWNLOAD_DELAYiCONCURRENT_REQUESTS_PER_DOMAIN: pauza i liczba równoległych żądań na stronę.AUTOTHROTTLE_ENABLED = True: tempo dopasowuje się do szybkości odpowiedzi strony.USER_AGENT: nazwa crawlera ze stroną kontaktową, na przykładMyCrawler/1.0 (+https://example.com/bot).
Razem te ustawienia utrzymują crawler poniżej limitu żądań strony bez ręcznych pauz w kodzie.
Pytania i odpowiedzi (FAQ)
Czym crawler różni się od parsera?
Crawler przechodzi strony po linkach, parser wyciąga z nich potrzebne dane. Często jeden program robi obie rzeczy.
Po co crawlerowi proxy?
Żeby sprawdzić, jak strona wygląda z innego kraju, i rozłożyć żądania dużego przejścia na wiele adresów.
Rezydencjalne $1.59, mobilne $2.50, serwerowe $0.65 za 1 GB
Rejestracja w minutę, dostęp od razu po płatności.