go-colly 库能做什么?

go-colly库能否爬取一个div标签下的所有HTML标签和文本内容?如果是这样,如何?我可以在 div 标签下获取所有文本。像这样:


c.OnHTML("body .post-topic-main .post-topic-des", func(e *colly.HTMLElement) {

            text = strings.TrimSpace(e.Text)

        })

但我不知道如何在 div 标签下获取 HTML 标签。


慕容708150
浏览 99回答 1
1回答

郎朗坤

如果您正在寻找innerHTML它,可以DOM使用Html方法 ( e.DOM.Html()) 访问它。c.OnHTML("body .post-topic-main .post-topic-des", func(e *colly.HTMLElement) {    html, _ := e.DOM.Html()    log.Println(html)})如果您在 founded 元素下寻找特殊标签,ForEach可以用于此目的。第一个参数是选择器,第二个参数是回调函数。回调函数将迭代每个与选择器匹配并且也是该元素成员的e元素。更多信息:https ://pkg.go.dev/github.com/gocolly/colly@v1.2.0#HTMLElement.ForEachc.OnHTML("body .post-topic-main .post-topic-des", func(e *colly.HTMLElement) {    text := strings.TrimSpace(e.Text)    log.Println(text)    e.ForEach("div", func(_ int, el *colly.HTMLElement) {        text := strings.TrimSpace(e.Text)        log.Println(text)    })})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go