I właśnie opublikował oparty na zdarzeniach, oparty na zdarzeniach, oparty na zdarzeniach, zgodny z HTML 5.0 pakiet do analizowania dla Go. Można find it here
Oto przykładowy kod, aby wszystkie linki ze strony (ze elementami):
links := make([]string)
parser := NewParser(htmlContent)
parser.Parse(nil, func(e *HtmlElement, isEmpty bool) {
if e.TagName == "link" {
link,_ := e.GetAttributeValue("href")
if(link != "") {
links = appends(links, link)
}
}
}, nil)
kilka rzeczy, o których należy pamiętać:
- te odpowiadają linki, a nie pełne adresy URL:
- Dynamicznie generowane linki nie będą gromadzone
- Istnieją inne linki, które nie są gromadzone (znaczniki META, obrazy, ramki iframe, itp.). Łatwo jest zmodyfikować ten kod, aby je zebrać.
Nie mogę znaleźć przykładu w jaki sposób korzystać z tej biblioteki do skrobania i nie jest to oczywiste z dokumentów. Czy ktokolwiek może wskazać mi przykład? – kristaps
Czy planowane jest włączenie tego pakietu natywnie w programie Go? – Kiril
Pakiet HTML jest już dostępny. Przeczytaj dokumentację tutaj: https://godoc.org/golang.org/x/net/html – R4chi7