Hur man skrapar SERPen i Google med Screaming Frog

Det finns många anledningar till att man vill crawla SERPen i Google. Det kan vara så att man vill bygga en stor databas av meta-data knutna till sökord eller få mer insikt i hur Google tolkar intentionen bakom en mängd olika sökord utifrån sökresultatet i SERPen.

Med Screaming Frog kan man crawla Googles SERP och via funktionen Custom extration i Screaming Frog hämta ut data från SERPen som man sedan kan analysera vidare.

Knepet med att crawla Google är att sakta ner crawlings takten och att ändra user-agent till en vanlig webbläsare.

Konfigurera Screaming Frog till att crawla SERPen

  1. Första steget är att bygga en lista med sökord som man vill se sökresultatet på. I vårt exempel har vi tre sökord “byxa”, “tröja” och “röd t-shirt”.
  2. Nu behöver vi bygga en sträng av sökorden genom att lägga till “https://www.google.com/search?q=” före ordet.
  3. Vi får då:
  4. Nästa steg är att lägga in denna lista i Screaming Frog. Vi väljer att crawla i list-läge och därefter kan vi klistra in listan på URLar vi vill crawla. Vi kommer endast crawla URLarna i listan. Ha i åtanke att SERPen skiljer sig åt mellan olika länder. Vill vi se en svensk SERP behöver vi crawla i Sverige annars blir det missvisande resultat (även om vi anropar google.se).
  5. Eftersom det bara är tre URLar i listan kommer vi inte stöta på problem. Men om vi har mer än 10-15 URLar kommer Google förstå att vi crawlar SERPen då anropen går för snabbt. Då kommer vi snabbt få problem eftersom Google kommer redirecta sökanropet till en sida där de vill att vi autentiserar oss som människor och inte robotar.Lösningen på detta är att vi saktar ner crawlings takten under “Configuration -> Speed”.

    Sätt Max threads till 1.
    Klicka i “Limit URL/s” och sätt Max URL/s till 0.5
  6. Crawlingen kommer nu gå mycket långsammare, men beteendet påminner mer om en människa. Men detta räcker inte, vi behöver även ändra user-agent, annars ser Google tydligt att det är Screaming Frog som anropar Google.

    Gå in under “Configuration->User agent” och välj “Chrome” under “User-Agent Configuration“. Nu ser det ut som att anropen kommer från webbläsaren Chrome. Tänk på att SERPen ser annorlunda ut ifall man surfar på en mobil eller desktop, i vissa fall är det bättre att köra med en mobil user-agent.
  7. Ytterligare en sak vi kan ställa in är att vi vill rendera JS när vi crawlar under “Configuration -> Spider -> Rendering”, sätt Rendering till JavaScript.  Jag har även sett rekommendationer på att sätta Screaming Frog till att ignorera robots.txt. Detta är dock inget jag gjort när jag crawlat Google tidigare, men det skadar inte att göra det.

Konfigurera Custom extraction för att hämta ut data

Custom extraction är en väldigt kraftfull funktion i Screaming Frog som i praktiken innebär att man kan skrapa allting på en webbplats som man kan nå via DOM-trädet. Ha i åtanke att vissa webbplatser har implementerat ett dynamiskt DOM-träd, då kan man inte skrapa webbplatsen via DOM-trädet eftersom DOMen ändrar sig mellan varje sidladdning. Google har dock (hittills) ett statiskt DOM-träd. Detta gör det väldigt enkelt att springa på trädet för att hämta ut data. I vårt exempel nedan ska vi hämta ut titel från samtliga URLar i vår lista.

  1. Först behöver vi veta var i DOM-trädet datan vi vill hämta in befinner sig.
  2. I bilden ovan kan vi i koden se att title-taggen presenterar sig i en span-tag innanför en H3-tag. Vi skulle då kunna göra antagandet att det bara finns ett enda mönster där span taggen kommer efter h3-taggen på SERPen. Vi kan testa detta antagande genom att lägga in en regel i Screaming Frog där vi vill hämta ut all text som kommer efter en H3a som har en Span tagg bakom sig.
  3. Välj att lägga till en ny regel under “Configuration -> Custom -> Extraction” i Screaming Frog. Välj därefter “CSSPath” och lägg in “h3 > span” samt låt drop downen vara “Extract Inner HTML”.
  4. Nu kan vi äntligen välja att crawla SERPen.

    När crawlen är klar så kan vi kika under tabben “Custom extraction”. Där skall nu förhoppningsvis titlarna för de olika sökträffarna Google presenteras. Första kolumnen “Extractor 1.1” innehåller skräp (vilket bevisar att vårt antagande om att bara titeln följde mönstret “h3 > span” var fel), men resterande kolumner innehåller title-tagg datan från topp 10 positionerna. Vi kan enkelt rensa bort första kolumnen i en export. Denna data kan vi nu välja att titta närmare på och analysera.

Att tänka på när du crawlar SERPen i Google

  1. Crawla alltid via en Proxy eftersom Google inte vill att man ska crawla SERPen. Detta går enkelt att lösa genom att koppla upp sig via ett VPN som har servrar i Sverige. Det är inte värt det att riskera ditt Google konto genom att bryta mot Googles riktlinjer.
  2. Crawlar man från ett annat land kommer man få en annan SERP än vad vi får i Sverige beroende på vilken typ av bransch sökorden man crawlar tillhör. Bäst är att crawla från Sverige, då blir resultatet så naturligt som möjligt.
  3. Att crawla många URLar tar lång tid. Att crawla 10.000 sökord har tagit upp emot en vecka. Dock var detta väl värt det utifrån den insikt man kunde dra av den insamlade datan om hur Google tolkar intentionen bakom den nischen sökord.