【发布时间】:2020-03-09 19:11:51
【问题描述】:
我有一个结构如下:
Type Post struct{
ID int64
Title string
Content string
}
我使用Go Colly 卷曲一个网页以接收数据,我有两个 OnHtml 方法如下:
func main() {
c := colly.NewCollector()
c.OnHTML("p", func(e *colly.HTMLElement) {
Post := Post{
Content: e.Text
}
db.Create(&Post)
})
c.OnHTML("h", func(e *colly.HTMLElement) {
Post := Post{
Title: e.Text
}
db.Create(&Post)
})
c.Visit("http://go-colly.org/")
}
上面的代码运行良好,但这会在数据库中创建两行,如下所示:
+--------------+---------------+---------------+
| id | title | content |
+--------------+---------------+---------------+
| 1 | Hello | Null |
+--------------+---------------+---------------+
| 2 | Null | Mycontent ... |
+--------------+---------------+---------------+
我想创建它:
+--------------+---------------+---------------+
| id | title | content |
+--------------+---------------+---------------+
| 1 | Hello | Mycontent ... |
+--------------+---------------+---------------+
如何在 go colly 中获取两个元素并保存在一行中?
【问题讨论】:
标签: go web-scraping