Kaltaisesi lukijat auttavat tukemaan MUO: ta. Kun teet ostoksen käyttämällä sivustollamme olevia linkkejä, voimme ansaita kumppanipalkkion. Lue lisää.

Jäsentäminen on asiakirjan rakenteen analysointia ja tulkintaa. Jäsennysprosessi voi sisältää tiettyjen elementtien, attribuuttien tai tietojen poimimisen asiakirjasta ja sen varmistamisen, että asiakirja on muotoiltu hyvin tiettyjä standardeja tai sääntöjä noudattaen. Jäsentämistä käytetään pääasiassa tietojen poimimiseen verkkosivuilta tai web-sivujen rakenteen manipuloimiseen ennen niiden näyttämistä käyttäjille.

Go tarjoaa paketteja asiakirjojen käsittelyyn, mukaan lukien verkkosivuilla yleisesti käytetyt HTML- ja XML-muodot. The html paketti tarjoaa toimintoja HTML: n tokenointiin ja jäsentämiseen.

HTML-paketti

The html paketti tarjoaa HTML5-yhteensopivan tunnuksen ja jäsentimen HTML-dokumenttien jäsentämiseen ja käsittelyyn, jäsennyspuun läpikulkuun ja puurakenteen manipulointiin. The html paketti on Go: n vakiokirjaston sisäänrakennettu paketti.

instagram viewer

Yksi tärkeimmistä ominaisuuksista html paketti on Jäsentää funktio, joka voi jäsentää HTML-dokumentteja ja palauttaa jäsennyspuun juurisolmun, josta voit käyttää toimintoja, kuten Ensimmäinen lapsi ja Seuraava Sisarus navigoidaksesi puussa ja poimiaksesi tietoja asiakirjasta. Paketti sisältää myös ParseFragment toiminto HTML-dokumenttien fragmenttien jäsentämiseen.

The EscapeString toiminto on kätevä merkkijonojen erikoismerkkien välttämiseen HTML: n turvallisempaa sisällyttämistä varten; voit käyttää tätä toimintoa estääksesi sivustojen välinen komentosarja (XSS) hyökkäyksiä muuntamalla erikoismerkit niitä vastaaviksi HTML-kokonaisuuksiksi.

Aloitaksesi html paketin, voit tuoda paketin Go-projektitiedostoihisi.

tuonti"golang.org/x/net/html"

The html paketti ei tarjoa mitään toimintoja HTML: n luomiseen. Sen sijaan voit käyttää html/template-pakettia, joka tarjoaa joukon toimintoja HTML-mallien luomiseen. The html/malli paketti tarjoaa toiminnon sapluuna. HTMLEscape HTML-koodin pakotettujen versioiden kirjoittamiseen vastauksen kirjoittajalle.

The html/malli paketti on myös osa vakiokirjastoa, ja näin voit tuoda paketin.

tuonti"html/malli"

The html paketti on Go-ekosysteemin suosituin mallipaketti, joka tukee erilaisia ​​toimintoja ja tietotyyppejä.

HTML-koodin jäsentäminen Gossa

The Jäsentää toiminto html paketti auttaa jäsentämään HTML-tekstiä ja asiakirjoja. The Jäsentää funktio ottaa an io. Lukija esimerkki, koska se on ensimmäinen argumentti, joka sisältää tiedostodokumentin ja *html. Solmu esimerkki, joka on HTML-dokumentin juurisolmu

Näin voit käyttää Jäsentää toiminto jäsentää verkkosivun ja palauttaa kaikki verkkosivun URL-osoitteet.

tuonti (
"fmt"
"golang.org/x/net/html"
"net/http"
)

funcpää() {
// Lähetä HTTP GET -pyyntö esimerkki.com-verkkosivulle
resp, err := http. Saada(" https://www.example.com")
jos virhe! = nolla {
fmt. Println("Virhe:", virhe)
palata
}
lykätä resp. Runko. Kiinni()

// Käytä html-pakettia jäsentääksesi vastauksen tekstin pyynnöstä
doc, err := html. Jäsentää (vastaa. runko)
jos virhe! = nolla {
fmt. Println("Virhe:", virhe)
palata
}


// Etsi ja tulosta kaikki linkit verkkosivulta
var linkit []merkkijono
var linkki func(*html. Solmu)
linkki = func(n *html. Solmu) {
jos n. Kirjoita == html. ElementNode && n. Data == "a" {
varten _, a := alue n. Attr {
jos a. Avain == "href" {
// lisää uuden linkkimerkinnän, kun määrite täsmää
linkit = liittää(linkit, a. Val)
}
}
}

// kulkee verkkosivun HTML: n läpi ensimmäisestä lapsisolmusta alkaen
varten c := n. Ensimmäinen lapsi; c != nolla; c = c. Seuraava sisarus {
linkki (c)
}
}
linkki (doc)

// silmukat linkkiviipaleen läpi
varten _, l := alue linkit {
fmt. Println("Linkki:", l)
}
}

The pää -toiminto lähettää HTTP GET -pyynnön verkkosivustolle Saada toiminto http paketti ja hakee sivun vastaustekstin. The Jäsentää toiminto html paketti jäsentää vastauksen rungon ja palauttaa HTML-dokumentin.

The linkkejä muuttuja on merkkijonojen osa, joka sisältää verkkosivun URL-osoitteet. The linkki toiminto ottaa osoittimen viittauksen Solmu menetelmää varten html paketti ja Avain attribuutin ilmentymän menetelmä solmusta palauttaa määritetyn attribuutin sisältämät tiedot (tässä tapauksessa href). Funktio kulkee asiakirjan läpi painikkeella Seuraava Sisarus menetelmästä Ensimmäinen lapsi node tulostaaksesi jokaisen verkkosivun URL-osoitteen. Lopuksi for-silmukka tulostaa kaikki URL-osoitteet osoitteesta linkkejä viipale.

Tässä on operaation tulos.

HTML: n luominen Gossa

The html/malli paketti tarjoaa joukon toimintoja HTML-mallien turvalliseen ja tehokkaaseen jäsentämiseen ja suorittamiseen. Paketti on suunniteltu käytettäväksi yhdessä html paketti, joka tarjoaa toimintoja HTML: n jäsentämiseen ja käsittelyyn.

Voit luoda HTML-koodin palvelinpuolen renderöintiä varten html/malli paketti. HTML: n luominen on kätevää monissa käyttötapauksissa, kuten sähköpostien lähettämisessä, palvelinpuolen käyttöliittymän hahmontamisessa ja monissa muissa. Voit käyttää sisäänrakennettuja Go-tietotyyppejä, kuten karttoja ja rakenteita, ollaksesi vuorovaikutuksessa ja manipuloidaksesi verkkosivusi HTML-koodia.

Sinun tulee ymmärtää Siirry HTML-mallin syntaksiin HTML: n luomiseen onnistuneesti html/malli paketti.

tuonti (
"html/malli"
"os"
)

tyyppi Nettisivu struct {
Otsikko merkkijono
Otsikko merkkijono
Teksti merkkijono
}

funcpää() {
// Määritä malli
tmpl := `



{{.Otsikko}}


{{.Otsikko}}


{{.Teksti}}



`

// Määritä mallissa käytettävät tiedot
web := verkkosivu{
Otsikko: "Esimerkkisivu",
Otsikko: "Tervetuloa sivuilleni!",
Teksti: "Tämä on verkkosivustoni kotisivu.",
}

// Luo uusi malli ja jäsennä mallimerkkijono
t, err := malli. Uusi("Nettisivu").Järjestää (tmpl)
jos virhe! = nolla {
paniikki(err)
}

// Suorita malli ja kirjoita tulos stdoutiin
err = t. Suorita (os. Stdout, verkko)
jos virhe! = nolla {
paniikki(err)
}
}

The tmpl muuttuja sisältää HTML-merkkijonon. HTML-merkkijono käyttää Go-mallisyntaksia sivun otsikon määrittämiseen h1 otsikko ja tekstikappale. The Nettisivu struct määrittää verkkosivun tietokentät Otsikko, Otsikko, ja Teksti kentät.

The Jäsentää menetelmä Uusi mallipaketin funktio luo ja jäsentää uuden mallin mallimerkkijonolla. The Suorittaa Uuden mallin ilmentymän funktio suorittaa mallin struct-ilmentymän tiedoilla ja palauttaa tuloksen vakiotulostukseen (tässä tapauksessa se tulostaa tuloksen konsoliin).

Luo verkkosovelluksia Golla

HTML: n jäsentämisen ja luomisen oppiminen Golla on yksi askel oikeaan suuntaan kohti kehittyneempien verkkosovellusten rakentamista. Go: n kanssa. Voit käyttää kehyksiä kuten Gin and Echo ja reitittimiä, kuten Gorilla Mux ja Chi Router rakentaaksesi verkkosi palvelinpuolen sovellus.

Nämä paketit on rakennettu net/http paketti (sisäänrakennettu paketti vuorovaikutukseen HTTP: n kanssa Gossa) ja abstrakti palvelinten ja reitittimien asennuksen monimutkaisuus Gossa.