Vidste du, at det er muligt at skrabe data fra et websted ved hjælp af Google Sheets? Sådan kan du gøre det.

Webskrabning er en kraftfuld teknik til at udtrække information fra websteder og analysere dem automatisk. Selvom du kan gøre dette manuelt, kan det være en kedelig og tidskrævende opgave. Web-skrabeværktøjer gør processen hurtigere og mere effektiv, alt imens det koster mindre.

Interessant nok har Google Sheets potentialet til at være dit one-stop web-scratningsværktøj takket være dets IMPORTXML-funktion. Med IMPORTXML kan du nemt skrabe data fra websider og bruge dem til analyse, rapportering eller andre datadrevne opgaver.

IMPORTXML-funktionen i Google Sheets

Google Sheets har en indbygget funktion kaldet IMPORTXML, som lader dig importere data fra webformater som XML, HTML, RSS og CSV. Denne funktion kan være en game-changer, hvis du ønsker at indsamle data fra websteder uden at ty til kompleks kodning.

Her er den grundlæggende syntaks for IMPORTXML:

=IMPORTXML(url, xpath_query)
  • url: URL'en på den webside, du vil skrabe data fra.
  • xpath_query: XPath-forespørgslen, der definerer de data, du vil udtrække.

XPath (XML Path Language) er et sprog, der bruges til at navigere i XML-dokumenter, inklusive HTML – så du kan angive placeringen af ​​data i en HTML-struktur. Det er vigtigt at forstå XPath-forespørgsler for at kunne bruge IMPORTXML korrekt.

Forstå XPath

XPath giver forskellige funktioner og udtryk til at navigere og filtrere data i et HTML-dokument. En omfattende XML- og XPath-vejledning ligger uden for denne artikels omfang, så vi nøjes med nogle væsentlige XPath-koncepter:

  • Elementvalg: Du kan vælge elementer vha / og // at betegne stier. For eksempel, /html/body/div vælger alle div-elementer i et dokuments brødtekst.
  • Attributvalg: For at vælge attributter kan du bruge @. For eksempel, //@href vælger alle href egenskaber på siden.
  • Prædikatfiltre: Du kan filtrere elementer ved hjælp af prædikater omgivet af firkantede parenteser ([ ]). For eksempel, /div[@class="container"] vælger alle div elementer med klassen beholder.
  • Funktioner: XPath giver forskellige funktioner som f.eks indeholder(), starter-med(), og tekst() til at udføre specifikke handlinger som at tjekke for tekstindhold eller attributværdier.

Sådan udtrækkes XPath fra et websted

Indtil videre kender du IMPORTXML-syntaksen, du kender hjemmesidens URL, og du ved hvilket element du vil udtrække. Men hvordan får du elementets XPath?

Du behøver ikke at kende et websteds struktur udenad for at udtrække dets data med IMPORTXML. Faktisk har hver browser et smart værktøj, der lader dig øjeblikkeligt kopiere ethvert elements XPath.

Værktøjet Inspicér element lader dig udtrække XPath fra webstedselementer. Sådan gør du:

  1. Naviger til den webside, du vil skrabe, ved hjælp af din foretrukne webbrowser.
  2. Find det element, du vil skrabe.
  3. Højreklik på elementet.
  4. Vælg Inspicer element fra højrekliksmenuen. Din browser åbner et panel, der viser HTML-koden for websiden. Det relevante HTML-element vil blive fremhævet i koden.
  5. I panelet Undersøg element skal du højreklikke på det fremhævede element i HTML-koden.
  6. Klik Kopier XPath for at kopiere elementets XPath-adresse til dit udklipsholder.

Nu hvor du har alt, hvad du behøver, er det tid til at se IMPORTXML i aktion og skrabe nogle links.

Du kan bruge IMPORTXML til at skrabe alle slags data fra websteder. Dette inkluderer links, videoer, billeder og næsten alle elementer på webstedet. Links er et af de mest fremtrædende elementer i webanalyse, og du kan lære meget om en hjemmeside blot ved at analysere de sider, den linker til.

IMPORTXML lader dig hurtigt skrabe links i Google Sheets og derefter analysere dem yderligere ved hjælp af de forskellige funktioner, som Google Sheets tilbyder.

For at skrabe alle links fra en webside kan du bruge følgende formel:

=IMPORTXML(url, "//a/@href") 

Denne XPath-forespørgsel vælger alle href egenskaber af -en elementer, der effektivt udtrækker alle links på siden.

=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a/@href")

Formlen ovenfor skraber alle links i en Wikipedia-artikel.

Det er en god idé at indtaste websidens URL i en separat celle og derefter henvise til den celle. Dette vil forhindre din formel i at blive for lang og uhåndterlig. Du kan gøre det samme med XPath-forespørgslen.

2. Skrabning af alle linktekster

For at udtrække teksten til linkene sammen med deres URL'er kan du bruge:

=IMPORTXML(url, "//a") 

Denne forespørgsel vælger alle elementer, og du kan udtrække linkteksten og URL'erne fra resultaterne.

=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a")

Formlen ovenfor får linkteksterne i den samme Wikipedia-artikel.

Nogle gange skal du muligvis skrabe specifikke links baseret på kriterier. For eksempel kan du være interesseret i at udtrække links, der indeholder et bestemt søgeord, eller links, der er placeret i et bestemt afsnit af siden.

Med ordentlig viden om XPath kan du lokalisere ethvert element, du leder efter.

For at skrabe links, der indeholder et specifikt søgeord, kan du bruge funktionen contains() XPath:

=IMPORTXML(url, "//a[contains(@href, 'keyword')]/@href") 

Denne forespørgsel vælger href-attributter for elementer, hvor href indeholder det angivne søgeord.

=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//a[contains(@href, 'record')]/@href")

Formlen ovenfor skraber alle links, der indeholder ordet post i deres tekst i en eksempel Wikipedia-artikel.

For at skrabe links fra en bestemt sektion af en side, kan du angive sektionens XPath. For eksempel:

=IMPORTXML(url, "//div[@class='section']//a/@href") 

Denne forespørgsel vælger href-attributter for elementer i div-elementer med klassen "sektion".

På samme måde vælger formlen nedenfor alle links inden for div-klassen, der har klassen mw-content-container:

=IMPORTXML("https://en.wikipedia.org/wiki/Nine_Inch_Nails", "//div[@class='mw-content-container']//a/@href")

Det er værd at bemærke, at du kan bruge IMPORTXML til mere end web-skrabning. Du kan bruge IMPORT-familien af ​​funktioner til importere datatabeller fra websteder til Google Sheets.

Selvom Google Sheets og Excel deler de fleste af deres funktioner, er IMPORT-familien af ​​funktioner unik for Google Sheets. Du bliver nødt til at overveje andre metoder importere data fra websteder til Excel.

Forenkle web-skrabning med Google Sheets

Webskrabning med Google Sheets og IMPORTXML-funktionen er en alsidig og tilgængelig måde at indsamle data fra websteder på.

Ved at mestre XPath og forstå, hvordan du opretter effektive forespørgsler, kan du frigøre det fulde potentiale af IMPORTXML og få værdifuld indsigt fra webressourcer. Så begynd at skrabe og tag din webanalyse til næste niveau!