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

Översikt av scrapern
SE::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

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
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.

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


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:
$volumefylls i för varje sökord$ideasoch$suggestsfylls 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
$volumefö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
$volumefö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
$volumefö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"
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"}]
Mer detaljer om att exportera resultat till JSON beskrivs i denna artikel.
Möjliga inställningar
| Parameter | Standardvärde | Beskrivning |
|---|---|---|
| All cookies | Angivande 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" | 0 | Parametern "authuser" |
| E-post för auktorisering i Keyword Planner | ||
| Password | Lösenord för auktorisering i Keyword Planner | |
| Recovery e-mail | E-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 from | Last 12 months | Datum från |
| Date to | Last 12 months | Datum till |
| Language | English | Språk |
| Search networks | Google | Söknätverk |
| Currency | USD | Valuta |
| Location code | Plats (här ska plats-ID anges, kan hämtas från första kolumnen i denna tabell (kopia)) | |
| Query type | Keyword | Typ av fråga |
| Exclude brand names in results | ☐ | Varumärkesfilter |
| Exclude adult ideas | ☑ | Filter för vuxet innehåll |
| Bulk (packet) mode | ☐ | Aktivering av batch-läge |