HTML-Seite in Go herunterladen und parsen

English Deutsch

Dieses Beispiel verwendet goquery, um eine HTML-Seite (https://techoverflow.net) über den Go net/http-Client anzufordern und verwendet dann goquery und eine einfache CSS-ähnliche Abfrage, um das <title>...</title>-HTML-Tag auszuwählen und dessen Inhalt auszugeben.

go_download_parse_title.go
package main

import (
    "fmt"
    "log"
    "net/http"

    "github.com/PuerkitoBio/goquery"
)

func main() {
    // Anfrage ausführen
    resp, err := http.Get("https://techoverflow.net")
    if err != nil {
        print(err)
        return
    }
    // Cleanup, wenn diese Funktion endet
    defer resp.Body.Close()
    // Antwortdaten lesen & parsen
    doc, err := goquery.NewDocumentFromReader(resp.Body)
    if err != nil {
        log.Fatal(err)
    }
    // Inhalt von <title></title> ausgeben
    doc.Find("title").Each(func(i int, s *goquery.Selection) {
        fmt.Printf("Title of the page: %s\n", s.Text())
    })
}

Beispielausgabe:

go_download_parse_output.txt
Title of the page: TechOverflow

Check out similar posts by category: Go