0

我一直在尝试遍历网站列表并逐个抓取它们。但是,如果我尝试将字符串变量而不是硬代码字符串传递给 c.Visit,开源库https://github.com/gocolly/colly/blob/master/_examples/basic/basic.go将不起作用() 功能。打印出来的字符串 var 看起来是正确的,所以我检查了换行符、var 的格式等。但是一切看起来都很好,请指教,谢谢!

func main() {
    news_outlets := loading.Loading()

    for _, news := range news_outlets {
        Visit(news.Link)
    }
}

// Visit is used to test colly
func Visit(news_link string) {
    // Instantiate default collector
    c := colly.NewCollector()
    
    // On every a element which has href attribute call callback
    c.OnHTML("a[href]", func(e *colly.HTMLElement) {
        e.Request.Visit(e.Attr("href"))
    })
    
    c.OnRequest(func(r *colly.Request) {
        fmt.Println("Visiting", r.URL)
    })
    
    news_link = strings.Replace(news_link, "\n", "", -1)
    fmt.Println(news_link)
    c.Visit(news_link)
}

news_link 仍然会被打印出来,并且程序会在没有任何错误的情况下完成。

4

0 回答 0