不同字符串中的值goColly

agyaoht7  于 2022-12-20  发布在  Go
关注(0)|答案(1)|浏览(92)

我有一个页面,我想刮多个日期与类"当"像下面的代码:

<b class="when">2/10/2010, 11:20</b>
<b class="when">5/4/2021, 13:42</b>

我用这个代码:

func getDates() {
    baseurl := "https://aaaa.it/?act=Profile&ID=647"
    c := colly.NewCollector()
    slic := []string{}
    c.OnHTML("b", func(e *colly.HTMLElement) {
        if e.Attr("class") == "when" {
            var date string
            date = e.Text
            slic := append(slic, date)
            fmt.Println(slic)
        }
    })

    c.Visit(baseurl)
}

用这个代码两个日期是在一个单一的字符串,我想为每个日期有一个不同的字符串。我怎么做呢?

mwngjboj

mwngjboj1#

第4行声明了一个字符串切片,但是当c.OnHTML运行时,每当您发现一个名为“when”的类时,就会创建一个新切片,而不是追加到前面声明的切片中。
如果您更改此设置并在调用结束时打印slic,您将看到一个具有多个值的字符串切片。

c.OnHTML("b", func(e *colly.HTMLElement) {
    if e.Attr("class") == "when" {
        var date string
        date = e.Text
        slic = append(slic, date)
        fmt.Println(slic)
    }
})

c.Visit(baseurl)

fmt.Printf("%+v", slic)

相关问题