Hoppa till huvudinnehåll

SE::Google::KeywordPlanner::Ideas - scraper för sökordsförslag från Google Keyword Planner

Keyword Planner ideas

Översikt av scrapern

SE::Google::KeywordPlanner::IdeasSE::Google::KeywordPlanner::Ideas – dataskrapning av sökordsförslag och tips från Google Keyword Planner. Många typer av data är tillgängliga för användning: skrapning av listor med förslag, bedömning av konkurrens för sökord, insamling av genomsnittligt antal sökningar per månad, lägsta och högsta bud, samt sökning efter nya sökord inom liknande ämnen. I inställningarna för dataskrapning kan du ange språk, region, plats och tidsperiod för datainsamlingen. Ett batchläge är också tillgängligt, vilket gör det möjligt att få data för upp till 20 sökord i en enda förfrågan till tjänsten, vilket avsevärt påskyndar din dataskrapning.

Tack vare A-Parser flertrådning kan hastigheten för bearbetning av frågor nå flera tusen per minut.

Funktionaliteten i A-Parser gör det möjligt att spara inställningar för dataskrapning för SE::Google::KeywordPlanner::Ideas för framtida bruk (förinställningar), schemalägga dataskrapning och mycket mer.

Resultaten kan sparas i det format och den struktur du behöver, tack vare den inbyggda kraftfulla mallmotorn Template Toolkit som gör det möjligt att tillämpa ytterligare logik på resultaten och exportera data i olika format, inklusive JSON, SQL och CSV.

Data som samlas in

  • Genomsnittligt antal sökningar per månad för det sökta sökordet
  • Listor med förslag
  • Sökordsvarianter
    • Genomsnittligt antal sökningar per månad
    • Konkurrens
    • Lägsta och högsta bud
    • Trender för varje erhållen variant

Funktioner

  • Stöd för auktorisering via e-post/lösenord eller genom att använda cookies och headers
  • Fastställande av noggrannhetsgrad för $volume - exakt/avrundat värde
  • Stöd för batch-läge, mer information i avsnittet Queries (Frågor)
  • Stöd för flera konton (för att välja rätt konto måste dess ocid(uscid) anges)
  • Dataskrapning av sökvolymdata för varje sökord månadsvis för en angiven period ($ideas.$i.trends). Data presenteras i JSON, exempel på hur de visas i resultatet finns på skärmdumpen nedan:
Spoiler: Skärmdump

exempel på utmatning av trender i resultatet

Mall:

[% FOREACH item IN ideas;
trends = tools.parseJSON(item.trends);

item.keyword _ "\n";
trends.format('$month: $volume\n');
"----\n";
END %]

Användningsfall

  • Dataskrapning av listor med förslag
  • Bedömning av konkurrens för sökord
  • Insamling av genomsnittligt antal sökningar per månad, lägsta och högsta bud
  • Hitta nya sökord inom liknande ämnen

Inställning

Det finns två alternativ för att ställa in scrapern:

  • ange e-post/lösenord för Keyword Planner-kontot
  • logga in i webbläsaren och kopiera de nödvändiga värdena
varning

Var försiktig med antalet trådar. Det rekommenderas att ange ett lågt antal trådar, och det är fullt möjligt att skrapa utan proxy.

Auktorisering via e-post och lösenord

Du behöver skriva över alternativen E-mail och Password med uppgifterna från ditt Keyword Planner-konto. En kampanj måste vara skapad på kontot.

Spoiler: (Lösning) Login failed TypeError: Cannot read property '1' of null

Om detta fel uppstår behöver du ta bort ditt Google-konto från webbläsaren och logga in igen.

lösning på auktoriseringsfel

Auktorisering i webbläsaren och användning av headers i scrapern

Du måste logga in i webbläsaren via länken https://ads.google.com/aw/keywordplanner/home, skapa den första kampanjen om det inte gjorts tidigare, hämta följande data och ange dem i scraperns inställningar:

Cookies kan anges på två sätt:

  • Ange alla cookies i alternativet All cookies
  • Ange värden från cookies för alternativen __Secure-3PSID, __Secure-3PSIDTS (__Secure-3PSIDTS måste anges om authuser på kontot är 0)

Övriga headers:

  • Värdet för headern x-framework-xsrf-token
  • Värdet för parametern ocid eller uscid från URL:en
  • Värdet för parametern authuser från URL:en
Spoiler: Hur man hittar de nödvändiga parametrarna

var man hittar parametrar för auktorisering 1

var man hittar parametrar för auktorisering 1

Frågor

Beroende på värdet för parametern Query type kan frågorna se olika ut. Nedan listas möjliga alternativ, exempel visas och särdragen för de erhållna resultaten beskrivs.

Keyword

Frågorna ska vara i form av sökord, ett sökord per rad. Exempel på frågor:

test
scraper
Windows 11
hur man odlar ett träd

Batch-läge stöds och aktiveras med alternativet Bulk (packet) mode. I detta läge skickar scrapern paket om 20 sökord i en förfrågan till tjänsten, vilket ändrar logiken för hur resultaten fylls i:

  • $volume fylls i för varje sökord
  • $ideas och $suggests fylls endast i för det första sökordet, men dessa arrayer innehåller alla resultat totalt för alla sökord som används i paketet

Site + keyword

Frågorna ska vara i form av en webbplats följt av ett sökord separerat med mellanslag. Exempel på frågor:

speedtest.com Network speed
a-parser.com parser

Även batch-läge stöds; för att använda det ska sökorden listas separerade med kommatecken, exempel:

4pda.to android,ios,firmware
google.com google,ads,reklam,sökning efter webbplatser på internet
  • $volume för denna typ av frågor skrapas inte i batch-läge

Entire site

Som frågor ska domäner anges, en per rad. Till exempel:

apple.com
microsoft.com
  • $volume för denna typ av frågor skrapas inte

URL

Som frågor ska länkar anges, en per rad. Till exempel:

https://a-parser.com/docs/parsers/se-google-keywordplanner
https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web/JavaScript_basics
  • $volume för denna typ av frågor skrapas inte

Frågesubstitutioner

Du kan använda inbyggda makron för att automatiskt infoga underfrågor från filer. Om vi till exempel vill lägga till en lista med andra ord till varje fråga, anger vi några huvudfrågor:

fantasy
tower defense
rpg

I frågeformatet anger vi ett makro för att infoga ytterligare ord från filen keywords.txt. Denna metod gör det möjligt att öka variationen av frågor mångfaldigt:

{subs:keywords} $query 

Detta makro skapar lika många ytterligare frågor som det finns i filen för varje ursprunglig sökfråga, vilket totalt ger [antal ursprungliga frågor] x [antal frågor i filen Keywords] = [totalt antal frågor] som ett resultat av makrot.

Till exempel, om filen keywords.txt innehåller:

free
online

Då kommer makrot att omvandla 3 huvudfrågor till 6:

free fantasy
online fantasy
free tower defense
online tower defense
free rpg
online rpg

Exempel på resultatutmatning

A-Parser stöder flexibel formatering av resultat tack vare den inbyggda mallmotorn Template Toolkit, vilket gör det möjligt att exportera resultat i valfri form, såväl som strukturerat, till exempel CSV eller JSON.

Standardutmatning

Resultatformat:

$ideas.format('$keyword\n')

Exempel på resultat:

coca cola  
iphone 11 pro
winter
iphone 11 pro max
winter season
iphone11
iphone 11 price
apple iphone 11
iphone 11pro
coke
11 pro max
iphone 11 pro price
iphone 11 max
iphone pro max
iphone 11 128gb
11 pro
iphone 11 pro max price
apple iphone 11 pro
apple iphone 11 pro max
new iphone 11
iphone 11 max pro
apple 11 pro
iphone 11 deals
iphone 11 pro max 256gb
diet coke
first day of winter
iphone 11 pro 256gb
coke zero
iphone pro 11
apple 11 pro max

Utmatning till CSV-tabell

Resultatformat:

[% FOREACH i IN ideas; 
tools.CSVline(i.keyword, i.volume, i.min_bid, i.max_bid);
END %]

Filnamn:

$datefile.format().csv

Starttext:

Keyword,Volume,"Min bid","Max bid"

tips

I resultatformatet används mallmotorn Template Toolkit för att skriva ut arrayen $ideas i en FOREACH-loop.

I filnamnet för resultaten behöver du bara ändra filändelsen till csv.

För att alternativet "Prepend text" ska vara tillgängligt i Task Editor måste du aktivera "More options". I "Prepend text" skriver vi kolumnnamnen separerade med kommatecken och gör den andra raden tom.

Spara i SQL-format

Resultatformat:

[% FOREACH ideas;
"INSERT INTO ideas VALUES('" _ keyword _ "', '" _ volume _ "')\n";
END %]

Exempel på resultat:

INSERT INTO ideas VALUES('parfym', '50000')
INSERT INTO ideas VALUES('eyfel perfume', '5000')
INSERT INTO ideas VALUES('memo marfa', '5000')
INSERT INTO ideas VALUES('duxi', '5000')
INSERT INTO ideas VALUES('kenzo intense', '5000')
INSERT INTO ideas VALUES('climat lancome', '5000')
INSERT INTO ideas VALUES('v canto', '5000')
INSERT INTO ideas VALUES('majda bekkali', '5000')
INSERT INTO ideas VALUES('v canto ricina', '500')
INSERT INTO ideas VALUES('v canto stramonio', '5000')
INSERT INTO ideas VALUES('terenzi kirke', '500')
INSERT INTO ideas VALUES('duhi', '500')
INSERT INTO ideas VALUES('max mara le parfum', '500')
INSERT INTO ideas VALUES('stramonio v canto', '500')
INSERT INTO ideas VALUES('sheikh parfum', '500')
INSERT INTO ideas VALUES('jacques zolty', '500')
INSERT INTO ideas VALUES('aj arabia', '500')
INSERT INTO ideas VALUES('christian lacroix bazar', '500')
INSERT INTO ideas VALUES('juliette has a gun romantina', '500')
INSERT INTO ideas VALUES('vilhelm parfumerie mango skin', '500')
INSERT INTO ideas VALUES('v canto mirabile', '500')
INSERT INTO ideas VALUES('donna karan dkny be delicious', '500')
INSERT INTO ideas VALUES('arteolfatto', '500')
INSERT INTO ideas VALUES('aquawoman rochas', '500')
INSERT INTO ideas VALUES('angel and demon givenchy', '500')
INSERT INTO ideas VALUES('venenum kiss', '500')
INSERT INTO ideas VALUES('v canto mandragola', '500')
INSERT INTO ideas VALUES('angel demon givenchy', '500')
INSERT INTO ideas VALUES('hugo boss boss ma vie pour femme', '500')
INSERT INTO ideas VALUES('nina ricci mademoiselle ricci', '500')

Dumpa resultat till JSON

Allmänt resultatformat:

[% data = [];
FOREACH p1.ideas;
item = {};
item.keyword = keyword;
item.volume = volume;
data.push(item);
END %]$data.json\n

Exempel på resultat:

[{"keyword":"parfym","volume":"50000"},{"keyword":"eyfel perfume","volume":"5000"},{"keyword":"memo marfa","volume":"5000"},{"keyword":"duxi","volume":"5000"},{"keyword":"kenzo intense","volume":"5000"},{"keyword":"climat lancome","volume":"5000"},{"keyword":"v canto","volume":"5000"},{"keyword":"majda bekkali","volume":"5000"},{"keyword":"v canto ricina","volume":"500"},{"keyword":"v canto stramonio","volume":"5000"},{"keyword":"terenzi kirke","volume":"500"},{"keyword":"duhi","volume":"500"},{"keyword":"max mara le parfum","volume":"500"},{"keyword":"stramonio v canto","volume":"500"},{"keyword":"sheikh parfum","volume":"500"},{"keyword":"jacques zolty","volume":"500"},{"keyword":"aj arabia","volume":"500"},{"keyword":"christian lacroix bazar","volume":"500"},{"keyword":"juliette has a gun romantina","volume":"500"},{"keyword":"vilhelm parfumerie mango skin","volume":"500"},{"keyword":"v canto mirabile","volume":"500"},{"keyword":"donna karan dkny be delicious","volume":"500"},{"keyword":"arteolfatto","volume":"500"},{"keyword":"aquawoman rochas","volume":"500"},{"keyword":"angel and demon givenchy","volume":"500"},{"keyword":"venenum kiss","volume":"500"},{"keyword":"v canto mandragola","volume":"500"},{"keyword":"angel demon givenchy","volume":"500"},{"keyword":"hugo boss boss ma vie pour femme","volume":"500"},{"keyword":"nina ricci mademoiselle ricci","volume":"500"},{"keyword":"mmmm juliette has a gun","volume":"500"},{"keyword":"v canto lucrethia","volume":"500"},{"keyword":"mango skin vilhelm parfumerie","volume":"500"},{"keyword":"dalissime salvador dali","volume":"500"},{"keyword":"molecula 02","volume":"50000"},{"keyword":"lucia parfum","volume":"500"},{"keyword":"boadicea pure narcotic","volume":"500"},{"keyword":"terenzi andromeda","volume":"500"}]
tips

Mer detaljer om att exportera resultat till JSON beskrivs i denna artikel.

Möjliga inställningar

ParameterStandardvärdeBeskrivning
All cookiesAngivande av alla cookies
Cookie "__Secure-3PSID"Cookien "__Secure-3PSID"
Cookie "__Secure-3PSIDTS"Cookien "__Secure-3PSIDTS"
Header "x-framework-xsrf-token"Headern "x-framework-xsrf-token"
Url parameter "ocid"("uscid")Parametern "ocid"("uscid")
Url parameter "authuser"0Parametern "authuser"
E-mailE-post för auktorisering i Keyword Planner
PasswordLösenord för auktorisering i Keyword Planner
Recovery e-mailE-post för återställning av åtkomst
Browser headless (debug auth)Headless-läge för webbläsaren som används för auktorisering via e-post/lösenord
Log Login Screenshot (debug auth)Skapa en skärmdump av auktoriseringssidan och visa den i uppgiftsloggen
Date fromLast 12 monthsDatum från
Date toLast 12 monthsDatum till
LanguageEnglishSpråk
Search networksGoogleSöknätverk
CurrencyUSDValuta
Location codePlats (här ska plats-ID anges, kan hämtas från första kolumnen i denna tabell (kopia))
Query typeKeywordTyp av fråga
Exclude brand names in resultsVarumärkesfilter
Exclude adult ideasFilter för vuxet innehåll
Bulk (packet) modeAktivering av batch-läge