HTML解析库:goquery

jopen 11年前

goquery是一个使用go语言写成的HTML解析库,可以让你像jQuery那样的方式来操作DOM文档。下面是示例:

func ExampleScrape_MetalReview() {    // Load the HTML document (in real use, the type would be *goquery.Document)    var doc *Document    var e error      if doc, e = NewDocument("http://metalreview.com"); e != nil {      panic(e.Error())    }      // Find the review items (the type of the Selection would be *goquery.Selection)    doc.Find(".slider-row:nth-child(1) .slider-item").Each(func(i int, s *Selection) {      var band, title string      var score float64        // For each item found, get the band, title and score, and print it      band = s.Find("strong").Text()      title = s.Find("em").Text()      if score, e = strconv.ParseFloat(s.Find(".score").Text(), 64); e != nil {        // Not a valid float, ignore score        fmt.Printf("Review %d: %s - %s.\n", i, band, title)      } else {        // Print all, including score        fmt.Printf("Review %d: %s - %s (%2.1f).\n", i, band, title, score)      }    })

项目主页:http://www.open-open.com/lib/view/home/1352264188188