SE::Google::KeywordPlanner::SearchVolume - ocena liczby zapytań i innych wskaźników słów kluczowych z Google Keyword Planner

Przegląd scrapera
SE::Google::KeywordPlanner::SearchVolume – scraper do oceny wolumenu wyszukiwań słów kluczowych z Google Keyword Planner. Do wykorzystania dostępnych jest wiele danych: średnia miesięczna liczba wyszukiwań, zmiany wolumenu w ujęciu kwartalnym i rocznym, minimalna i maksymalna stawka, poziom konkurencji. W ustawieniach scrapowania można określić język, lokalizację, sieć reklamową oraz okres próbkowania danych. Dostępny jest również tryb pakietowy, dzięki któremu w jednym zapytaniu do serwisu można uzyskać dane dla 10000 słów kluczowych jednocześnie, co znacznie przyspiesza scrapowanie.Dzięki wielowątkowej pracy A-Parser w połączeniu z trybem pakietowym, prędkość przetwarzania zapytań może osiągać kilkadziesiąt tysięcy zapytań na minutę.
Funkcjonalność A-Parser pozwala zapisywać ustawienia scrapowania scrapera SE::Google::KeywordPlanner::SearchVolume do dalszego wykorzystania (presety), ustawiać harmonogram scrapowania i wiele więcej.
Zapisywanie wyników jest możliwe w dowolnej formie i strukturze, dzięki wbudowanemu potężnemu silnikowi szablonów Template Toolkit, który pozwala stosować dodatkową logikę do wyników i wyprowadzać dane w różnych formatach, w tym JSON, SQL i CSV.
Zbierane dane
- Średnia liczba zapytań miesięcznie dla szukanego słowa kluczowego
- Zmiana kwartalna
- Zmiana roczna
- Poziom konkurencji
- Minimalne i maksymalne stawki
- Trendy wolumenu wyszukiwania dla wybranego okresu
- Miesiąc i rok
- Całkowita liczba zapytań
- Liczba zapytań tylko z urządzeń mobilnych (niedostępne w trybie pakietowym)
Możliwości
- Obsługa autoryzacji za pomocą loginu i hasła lub poprzez podstawienie ciasteczek i nagłówków
- Określenie stopnia dokładności $volume - wartość dokładna/zaokrąglona
- Obsługiwany tryb pakietowy, włączony domyślnie
- Obsługa wielu kont (aby wybrać odpowiednie konto, należy podać jego
ocid(uscid))
Warianty wykorzystania
- Zbieranie średniej liczby zapytań miesięcznie, minimalnych i maksymalnych stawek, ocena konkurencji
- Analiza trendów
Konfiguracja
Istnieją dwa warianty konfiguracji scrapera:
- podanie e-maila\hasła do konta Keyword Planner
- autoryzacja w przeglądarce i skopiowanie potrzebnych wartości
Należy zachować ostrożność przy wyborze liczby wątków. Zaleca się podawanie niewielkiej liczby wątków, przy czym scrapowanie bez proxy jest w pełni możliwe.
Autoryzacja przez e-mail i hasło
Należy nadpisać opcje E-mail oraz Password, podając dane swojego konta Keyword Planner. Na koncie musi być obowiązkowo utworzona kampania.
Spoiler: (Rozwiązanie) Login failed TypeError: Cannot read property '1' of null
W przypadku wystąpienia tego błędu należy usunąć swoje konto Google z przeglądarki i zalogować się ponownie.

Autoryzacja w przeglądarce i podstawienie nagłówków do scrapera
Należy zalogować się w przeglądarce pod adresem https://ads.google.com/aw/keywordplanner/home, utworzyć pierwszą kampanię, jeśli wcześniej jej nie było, pobrać następujące dane i podać je w ustawieniach scrapera:
Ciasteczka można podać na dwa sposoby:
- Podać wszystkie ciasteczka w opcji All cookies
- Podać wartości z ciasteczek dla opcji __Secure-3PSID, __Secure-3PSIDTS (__Secure-3PSIDTS należy podać w przypadku, gdy authuser na koncie wynosi 0)
Pozostałe nagłówki:
- Wartość nagłówka x-framework-xsrf-token
- Wartość parametru ocid lub uscid z adresu URL
- Wartość parametru authuser z adresu URL
Spoiler: Jak znaleźć niezbędne parametry


Zapytania
Jako zapytania należy podawać słowa kluczowe, po jednym słowie na linię. Przykład zapytań:
coca-cola
parsing
peace
starlink
test
Obsługiwany jest tryb pakietowy, który aktywuje się opcją Bulk (packet) mode. W tym trybie scraper w zapytaniu do serwisu będzie wysyłał pakiety po 10000 słów kluczowych. W tym trybie nie są zbierane dane o liczbie zapytań z urządzeń mobilnych ($trends.$i.mobile). Tryb pakietowy jest włączony domyślnie.
Podstawienia zapytań
Możesz używać wbudowanych makr do automatycznego podstawiania podzapytań z plików, na przykład, jeśli chcemy do każdego zapytania dodać jakąś listę innych słów, podajmy kilka głównych zapytań:
fantasy
tower defense
rpg
W formacie zapytań podajmy makro podstawiania dodatkowych słów z pliku keywords.txt, ta metoda pozwala wielokrotnie zwiększyć wariantowość zapytań:
{subs:keywords} $query
To makro utworzy tyle samo dodatkowych zapytań, ile znajduje się w pliku dla każdego wyjściowego zapytania, co w sumie da [liczba wyjściowych zapytań] x [liczba zapytań w pliku Keywords] = [całkowita liczba zapytań] w wyniku działania makra.
Na przykład, jeśli plik keywords.txt będzie zawierał:
free
online
W rezultacie makro podstawień zamieni 3 główne zapytania na 6:
free fantasy
online fantasy
free tower defense
online tower defense
free rpg
online rpg
Warianty wyprowadzania wyników
A-Parser obsługuje elastyczne formatowanie wyników dzięki wbudowanemu silnikowi szablonów Template Toolkit, co pozwala mu wyprowadzać wyniki w dowolnej formie, a także w formie ustrukturyzowanej, na przykład CSV lub JSON
Wyprowadzanie domyślne
Format wyniku:
$query: $volume\n
Przykład wyniku z wyprowadzeniem słowa kluczowego i jego średniej liczby zapytań miesięcznie:
coca-cola: 3350000
parsing: 165000
peace: 673000
starlink: 1830000
test: 7480000
Wyprowadzanie do tabeli CSV
Ogólny format wyniku:
[% tools.CSVline(query, p1.volume, p1.min_bid, p1.max_bid) %]
Nazwa pliku:
$datefile.format().csv
Tekst początkowy:
Keyword,Volume,"Min bid","Max bid"
W Ogólnym formacie wyników stosowany jest silnik szablonów Template Toolkit oraz narzędzie tools.CSVline do wyprowadzania danych.
W nazwie pliku wyników należy po prostu zmienić rozszerzenie pliku na csv.
Aby opcja "Prepend text" była dostępna w Edytorze zadań, należy aktywować "More options". W "Prepend text" wpisujemy nazwy kolumn oddzielone przecinkami i drugą linię pozostawiamy pustą.
Zapisywanie w formacie SQL
Format wyniku:
[% "INSERT INTO volumes VALUES('" _ query _ "', '" _ volume _ "')\n" %]
Przykład wyniku:
INSERT INTO volumes VALUES('perfumy', '50000')
INSERT INTO volumes VALUES('eyfel perfume', '5000')
INSERT INTO volumes VALUES('memo marfa', '5000')
Zrzut wyników do JSON
Ogólny format wyniku:
[% IF notFirst;
",\n";
ELSE;
notFirst = 1;
END;
obj = {};
obj.keyword = query;
obj.volume = p1.volume;
obj.json %]
Tekst początkowy:
[
Tekst końcowy:
]
Przykład wyniku:
[{"keyword":"perfumy","volume":"50000"},
{"keyword":"eyfel perfume","volume":"5000"},
{"keyword":"memo marfa","volume":"5000"}]
Szczegółowe informacje o wyprowadzaniu wyników w formacie JSON opisano w tym artykule.
Możliwe ustawienia
| Parametr | Wartość domyślna | Opis |
|---|---|---|
| All cookies | Podanie wszystkich ciasteczek | |
| Cookie "__Secure-3PSID" | Ciasteczko "__Secure-3PSID" | |
| Cookie "__Secure-3PSIDTS" | Ciasteczko "__Secure-3PSIDTS" | |
| Header "x-framework-xsrf-token" | Nagłówek "x-framework-xsrf-token" | |
| Url parameter "ocid"("uscid") | Parametr "ocid"("uscid") | |
| Url parameter "authuser" | 0 | Parametr "authuser" |
| E-mail do autoryzacji w Keyword Planner | ||
| Password | Hasło do autoryzacji w Keyword Planner | |
| Recovery e-mail | E-mail do odzyskiwania dostępu | |
| Browser headless (debug auth) | ☑ | Tryb headless dla przeglądarki używanej do autoryzacji przez login-hasło |
| Log Login Screenshot (debug auth) | ☐ | Tworzenie zrzutu ekranu strony autoryzacji i wyprowadzanie go do logu zadania |
| Date from | Last 12 months | Data od |
| Date to | Last 12 months | Data do |
| Language | English | Język |
| Search networks | Google | Sieć wyszukiwania |
| Location code | Lokalizacja (należy tutaj podać id lokalizacji, które można pobrać z pierwszej kolumny tej tabeli (kopia)) | |
| Delete created plan | ☑ | Usuwanie utworzonego planu |
| Bulk (packet) mode | ☑ | Włączenie trybu pakietowego |