从Go中的html页面中提取文本

时间:2014-11-18 00:05:17

标签: html go

寻找一种简单地获取网页文本的方法,最好不必使用一堆正则表达式。

我以为我先检查一下这种东西已经内置,或者至少在Go中更容易做到。

1 个答案:

答案 0 :(得分:2)

您可以使用go-query。这个lib可以像jquery一样用于从html文档中grep text和doc元素。

此示例取自github页面:

package main

import (
    "fmt"
    "github.com/PuerkitoBio/goquery"
    "log"
)

func ExampleScrape() {
    doc, err := goquery.NewDocument("http://metalsucks.net")
    if err != nil {
        log.Fatal(err)
    }
    doc.Find(".reviews-wrap article .review-rhs").Each(func(i int, s *goquery.Selection) {
        band := s.Find("h3").Text()
        title := s.Find("i").Text()
        fmt.Printf("Review %d: %s - %s\n", i, band, title)
    })
}
func main() {
    ExampleScrape()
}