我想从 html 内容解析锚链接。/* 我的 HTML 内容示例<a class="productnamecolor colors_productname" href="http://www.cccxcxc.com/Nautical-Bubble-Romper-p/s15brpnt03.htm">*/ <a class="productnamecolor colors_productname" href="http://www.dewewe.com/Nautical-Bubble-Romper-p/erewrwer.htm"> <a class="productnamecolor colors_productname" href="http://www.sdsddsd.com/Nautical-Bubble-Romper-p/dsadadasd.htm"> */ 锚有href,我想获得Href的值。但这给了我错误..错误:单值上下文中的多值 s.Attr()package main import ( "fmt" "log" "github.com/PuerkitoBio/goquery" ) func ExampleScrape() { doc, err := goquery.NewDocument("http://www.myurl.com/category-s/1828.htm") if err != nil { log.Fatal(err) } /* **my sample html after http open** <a class="productnamecolor colors_productname" href="http://www.cccxcxc.com/Nautical-Bubble-Romper-p/s15brpnt03.htm">*/ <a class="productnamecolor colors_productname" href="http://www.dewewe.com/Nautical-Bubble-Romper-p/erewrwer.htm"> <a class="productnamecolor colors_productname" href="http://www.sdsddsd.com/Nautical-Bubble-Romper-p/dsadadasd.htm"> ***/ doc.Find("table.v65-productDisplay a.productnamecolor").Each(func(i int, s *goquery.Selection) { band := s.Attr("href") // here i want to get attribute " href " value. this is not working here. fmt.Printf(band) }) } func main() { ExampleScrape() }
2 回答
largeQ
TA贡献2039条经验 获得超7个赞
Selection.Attr 返回两个值:属性值和一个布尔值,说明该属性是否存在(如果为假,则属性值为空)。
当您忽略多个返回值时,Go 不喜欢它,因此您必须将代码更改为以下内容:
doc.Find("table.v65-productDisplay a.productnamecolor").Each(func(i int, s *goquery.Selection) {
band, ok := s.Attr("href")
if ok {
fmt.Printf(band)
}
})
- 2 回答
- 0 关注
- 198 浏览
添加回答
举报
0/150
提交
取消