登录
首页 >  Golang >  Go问答

使用Go语言解析DOM并提取数据

来源:stackoverflow

时间:2024-02-12 18:45:27 174浏览 收藏

知识点掌握了,还需要不断练习才能熟练运用。下面golang学习网给大家带来一个Golang开发实战,手把手教大家学习《使用Go语言解析DOM并提取数据》,在实现功能的过程中也带大家重新温习相关知识点,温故而知新,回头看看说不定又有不一样的感悟!

问题内容

我想从 url 访问 html 文档标签,例如,我有以下网页:

https://example.com/

我想要 h1 标签“示例域”的内部内容:

示例域

标记也是如此:

更多信息...

然后使用不同标签的值创建一个结构:

type Example struct {
   foo string
   bar string
}

Example.foo = *h1 tag content*
Example.bar = *p tag content*

这可能吗?


正确答案


我个人会使用 goquery 来实现此目的:

// Request the HTML page.
res, err := http.Get("https://example.com/")
if err != nil {
    log.Fatal(err)
}
defer res.Body.Close()
if res.StatusCode != 200 {
    log.Fatalf("status code error: %d %s", res.StatusCode, res.Status)
}

// Load the HTML document
doc, err := goquery.NewDocumentFromReader(res.Body)
if err != nil {
    log.Fatal(err)
}

h1 := doc.Find("h1").First().Text()
p := doc.Find("p").First().Text()

type Example struct {
    foo string
    bar string
}

e := Example{ foo: h1, bar: p }

今天带大家了解了的相关知识,希望对你有所帮助;关于Golang的技术知识我们会一点点深入介绍,欢迎大家关注golang学习网公众号,一起学习编程~

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>