Format examples and lint markdown
parent
ccf4160317
commit
7b1ac7f510
85
README.md
85
README.md
|
@ -1,4 +1,5 @@
|
||||||
# microdata
|
# microdata
|
||||||
|
|
||||||
A microdata parser in Go
|
A microdata parser in Go
|
||||||
|
|
||||||
See [http://www.w3.org/TR/microdata/](http://www.w3.org/TR/microdata/) for more information about Microdata
|
See [http://www.w3.org/TR/microdata/](http://www.w3.org/TR/microdata/) for more information about Microdata
|
||||||
|
@ -9,79 +10,79 @@ See [http://www.w3.org/TR/microdata/](http://www.w3.org/TR/microdata/) for more
|
||||||
|
|
||||||
Simply run
|
Simply run
|
||||||
|
|
||||||
go get github.com/iand/microdata
|
go get github.com/iand/microdata
|
||||||
|
|
||||||
Documentation is at [http://godoc.org/github.com/iand/microdata](http://godoc.org/github.com/iand/microdata)
|
Documentation is at [http://godoc.org/github.com/iand/microdata](http://godoc.org/github.com/iand/microdata)
|
||||||
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
Example of parsing a string containing HTML:
|
Example of parsing a string containing HTML:
|
||||||
|
|
||||||
package main
|
```go
|
||||||
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"github.com/iand/microdata"
|
"github.com/iand/microdata"
|
||||||
"net/url"
|
"net/url"
|
||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
html := `<div itemscope>
|
html := `<div itemscope>
|
||||||
<p>My name is <span itemprop="name">Elizabeth</span>.</p>
|
<p>My name is <span itemprop="name">Elizabeth</span>.</p>
|
||||||
</div>`
|
</div>`
|
||||||
|
|
||||||
baseUrl, _ := url.Parse("http://example.com/")
|
baseUrl, _ := url.Parse("http://example.com/")
|
||||||
p := microdata.NewParser(strings.NewReader(html), baseUrl)
|
p := microdata.NewParser(strings.NewReader(html), baseUrl)
|
||||||
|
|
||||||
data, err := p.Parse()
|
data, err := p.Parse()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
panic(err)
|
panic(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
println("Name: ", data.Items[0].Properties["name"][0].(string))
|
println("Name: ", data.Items[0].Properties["name"][0].(string))
|
||||||
}
|
}
|
||||||
|
```
|
||||||
|
|
||||||
Extract microdata from a webpage and print the result as JSON
|
Extract microdata from a webpage and print the result as JSON
|
||||||
|
|
||||||
package main
|
```go
|
||||||
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"bytes"
|
"bytes"
|
||||||
"io/ioutil"
|
"io/ioutil"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
"os"
|
"os"
|
||||||
|
|
||||||
"github.com/iand/microdata"
|
"github.com/iand/microdata"
|
||||||
)
|
)
|
||||||
|
|
||||||
func main() {
|
func main() {
|
||||||
|
|
||||||
baseUrl, _ := url.Parse("http://www.designhive.com/blog/using-schemaorg-microdata")
|
baseUrl, _ := url.Parse("http://www.designhive.com/blog/using-schemaorg-microdata")
|
||||||
|
|
||||||
resp, _ := http.Get(baseUrl.String())
|
resp, _ := http.Get(baseUrl.String())
|
||||||
defer resp.Body.Close()
|
defer resp.Body.Close()
|
||||||
|
|
||||||
html, _ := ioutil.ReadAll(resp.Body)
|
html, _ := ioutil.ReadAll(resp.Body)
|
||||||
|
|
||||||
p := microdata.NewParser(bytes.NewReader(html), baseUrl)
|
p := microdata.NewParser(bytes.NewReader(html), baseUrl)
|
||||||
|
|
||||||
data, _ := p.Parse()
|
data, _ := p.Parse()
|
||||||
|
|
||||||
json, _ := data.JSON()
|
|
||||||
os.Stdout.Write(json)
|
|
||||||
}
|
|
||||||
|
|
||||||
|
json, _ := data.JSON()
|
||||||
|
os.Stdout.Write(json)
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
## Authors
|
## Authors
|
||||||
|
|
||||||
* [Ian Davis](http://github.com/iand) - <http://iandavis.com/>
|
* [Ian Davis](http://github.com/iand) - <http://iandavis.com/>
|
||||||
|
|
||||||
|
|
||||||
## Contributors
|
## Contributors
|
||||||
|
|
||||||
|
|
||||||
## Contributing
|
## Contributing
|
||||||
|
|
||||||
* Do submit your changes as a pull request
|
* Do submit your changes as a pull request
|
||||||
|
|
Loading…
Reference in New Issue