WIP Schema.org parser (using Goquery)
schemata/microdata allows you extract microdata from goquery.Documents
package main
import (
"fmt"
"log"
"net/http"
"os"
"github.com/AltayAkkus/schemata/microdata"
"github.com/PuerkitoBio/goquery"
)
func main() {
if len(os.Args) != 2 {
log.Fatalf("%s <url>", os.Args[0])
return
}
url := os.Args[1]
log.Printf("GET'ting %s", url)
res, err := http.Get(url)
if err != nil {
log.Fatal("Failed to GET")
}
defer res.Body.Close()
doc, err := goquery.NewDocumentFromReader(res.Body)
if err != nil {
log.Fatal("Could not read body into document")
}
schemas := microdata.Extract(doc)
// print to console
for _, schema := range schemas {
fmt.Println(schema.JSON())
}
}
There is also a JSON-LD extractor at schemata/jsonld but JSON-LD parsing is not implemented yet,