亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在Go語言中獲取屬性href值的值

如何在Go語言中獲取屬性href值的值

Go
桃花長相依 2021-11-01 16:31:11
我想從 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條經驗 獲得超8個贊

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)

    }

})


查看完整回答
反對 回復 2021-11-01
  • 2 回答
  • 0 關注
  • 224 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號