skip to Main Content

Jak przeanalizować ponad 1 mln adresów – seo na poziomie pro

Analiza ponad 1 mln domen z rynku PL

Na starcie chciałbym pozdrowić mojego ulubionego partnera do dyskusji na seo grupach Tomasza Wieliczkę.

Artykuł jest dość mocno techniczny – wchodzący w bardzo zaawansowane metody, stosowane przy seo ( scrapowanie dużych ilości danych / przeszukanie dużej ilości domen ) .  Sugerowane rozwiązania nie maja praktycznie żadnego zastosowania w przypadku projektów o niskiej konkurencyjności.

 

Niedawno jeden z moich klientów zwrócił się do mnie z zapytaniem czy mógłbym wskazać mu linki, które z różnych domen kupuje konkurencja a nie ma ich w Ahrefs . Problem wydawał się na początku bardzo skomplikowany kilka rozwiązań, które zaproponowałem

 

  • wykorzystanie scrapebox ,a-parser lub podobnego narzędzia to skrapowania wyników i sprawdzenie czy przypadkiem nie ma tam linków prowadzących do konkurencji
  • sprawdzenie min 1 mln domen Polskich (czy są tam linki prowadzące do konkurencji )

Scrapebox vs A-parser porównanie

Tutaj należy się kilka słów wyjaśnienia czym są programy Scrapebox i A-parser. Oba narzędzia służą głównie do tego samego czyli pobierania wyników z Google na zadane wyszukiwanie.  Czy któreś uważam za lepsze? W zasadzie nie widzę większej różnicy w komforcie użytkowania (a używam każdego z nich już ponad 12 lat ) .

a-parser

 

 

A-parser ma wbudowane dużo więcej zaawansowanych możliwości parsowania :

 

a-parser możliwosci

W zasadzie oba te narzędzia powinny być dobrze znane komuś, kto chciałbym zajmować się pozycjonowanie na poziomie mocno profesjonalnym.  Czy są ? Nie wiem , natomiast domniemam, że niewiele firm w Polsce zna A-parsera. A szkoda bo daje on naprawdę niesamowite możliwości działania.

 

Parsowanie wyników Google w poszukiwaniu linków prowadzących z zaplecz – test nr 1

 

W tym wypadku zostały pobrane 1000 fraz związanych z danym klientem do frazy zostały dołączone 2 kombinacje liter  typu aa ab ac ad etc.. i zostały pobrane wyniki z Google. Przykład takiego zapytania :

ra „recepta online”

ty „recepta online”

Czemu zastosowano takie połączenie ? Po to aby z Google wyciągnąć jak najwięcej wyników.  Łączna liczba zapytań wysyłana do Google przekroczyła 2 mln requestów.  W jaki sposób mi się to udało ?

 

System do scrapingu dowolnej strony

Tutaj znowu zrobiłem 2 podejścia :

-https://rocketscrape.com (system pozwalający na szybkie pobranie dowolnej strony )

Bardzo wygodny , szybki , tani i prosty do wdrożenia.

System własnej sieci mobilnych proxy

koncetrator-usb-proxy

 

Każde z tych rozwiązań ma swoje plusy i minusy. W przypadku rocketscrape + to :

-szybko wdrożenia

-łatwe do wdrożenia Api

W przypadku własne systemu mobilnych proxy (20 kart sim ) plusy to :

-bardzo duża ilość adresów ip dostępnych w ciągu 24 h

-bardzo krótki czas odpowiedzi serwerów

 

Jakie efekty uzyskałem po 1 teście  :

znalezione ponad 300 domen zapleczowych ukrytych przed Ahrefs i Majestic seo  (przeszukiwanie odbywało się dla kilku branż ) .

 

Czas na podejście nr 2 – przeszukujemy listę domen z koncówka .pl

Tutaj pierwsze zadanie to skąd pobrać listę domen do przeszukania ?  W internecie można znaleść  sporo serwisów, które umożliwiają zakup w formie abonamentu lub płatności jednorazowej aktywnej listy domen .pl . Trudno jest mi jednoznacznie ocenić na ile pokrywa się ona z rzeczywistością. Przykładem takiego serwisu jest chociażby :

 

https://whoisdatacenter.com/active-domains-database/

https://zonefiles.io/

Po zakupie otrzymałem 1 mln adresów – i teraz pytanie jak to przeszukać ? Jakiego narzędzia użyc ?

Tutaj znowu zrobiłem 3 różne podejścia :

-scrapebox

-a-parser

-własne  narzędzie (połaczenie bash i gotowych bibliotek)

Założenia były takie ,żeby zrobić to miarę szybko i nie poświęcać na to więcej niż kilka godzin.

Wynik dla Scrapebox

Odpalony 2 krotnie – ani razu nie udało się przesiać całej listy . W przypadku 100 wątków niestety przeszukowanie ani razu nie zakończyło się sukcesem (2 próby).

Wyniki dla A-parser

Tutaj było już lepiej natomiast czas przeszukania ponad 1 mln domen przekraczał 48 h ( przy 75 wątkach ) .  Niestety jeśli chciałem poszukać linków do kolejnej domeny proces trzeba było zaczynać od nowa.

 

Aleluja przeciez iles lat temu byłem administratorem serwerów linuxowych

Nadszedł wreszcie moment kiedy trzeba było troszkę pogłówkować i poszukać rozwiązania, które umożliwi mi szybkie znalezienie linków, które buduje sobie konkurencja (takich których nie pokaże a-hrefs ) . Akurat mam 1 praktycznie nieużywany serwer  (

AMD  Epyc 7351p  16c / 32t  2.4GHz 128GB). Tutaj dla mnie ważna była ilośc ramu bo to ona w głównej mierze ogranicza potencjalne rozwiązanie, nie zamierzam korzystać z języków niskopoziomowych, a użyć powszechnie znanych bibliotek ).

wget vs curl

Tutaj na wstępie pojawia się pytanie, które z tych narzędzi jest szybsze. Przeszukując internet znalazłem tylko 1 artykuł (dość stary bo z 2016 roku ) porównujący oba te narzędzia :

https://curl.se/mail/lib-2016-06/0143.html

Sam przeprowadziłem sobie taki test i co się okazało – wget potrafi być nawet o 50 % szybszy niż curl. Stąd decyzja o wykorzystaniu tej biblioteki.

 

Założenia systemu do scrapowania

-nie przekraczamy 1000 watków

-wykorzystujemy bibliotekę wget

-interesują nas wyłącznie domeny główne

-wyniki zapisujemy jako czysty html

 

Efekty i skrypt

Sam skrypt w bashu (język skryptowy powłoki Linux) – zajął  12 linijek . Algorytm był banalny co 0,005 s uruchamiamy kolejny wątek, który odpala nam wget w tle, który ma pobrać stronę.  W  ten sposób pobranie 1 mln serwisów odbyło się w czasie mniejszym niż 5 h.

Problemy przy skrapowaniu

Pierwszy problem jaki napotkałem to serwery hostujące domeny – okazało , że w momencie gdy identyfikowały mój pareser jako wget ( https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent)  od razu automatycznie wysyłały mi błąd. Jest i na to proste rozwiązanie. Spoofing user agenta – czyli oszukanie docelowego systemu i podanie się za google bota.

user agent

Dodając dodatkowy parametr udało mi się oszukać hostingi.

Jak wygładało moje narzędzie po odpaleniu (nic ciekawego )

screen z ssh

Co otrzymałem po uruchomieniu

Ponad 1 mln plików z kodem html domen głównych (dzięki czemu mogę je w dowolnym momencie przeszukać  w następujący sposób :

 

find -type f |xargs grep -Hln „szymonslowik.pl” >> linkiszymonslowik.pl &

 

Co znalazłem ?

Ponad 50 tysięcy domen głównych linkujących do różnych branż (linki są ze stron głównych ) – ukrytych przed Ahrefs/Majestic.  Daje to świetny materiał do analizy (jak linkuje moja konkurencja / co daje a co nie daje efektów ).

 

This Post Has 0 Comments

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Back To Top