使用 class 选择器使用 Goquery 解析 HTML 我做错了什么?
What am I doing wrong parsing HTML with Goquery using a class selector?
我正在使用 goquery 从某些站点获取一些数据。当元素有 id
时我没有问题,但当元素只有 class
.
时我似乎无法让它工作
例如,假设这个 site。我想检索名称和价格。为此,我使用:
func fetch(doc *goquery.Document) (name string, price string) {
name = doc.Find(".main-info__title-main").Text()
if name == "" {
log.Fatal("Could not retrieve property name")
}
price = doc.Find(".info-data-price").Text()
if price == "" {
log.Fatal("Could not retrieve property price")
}
return name, price
}
然而,我在这两种情况下内容总是""
。如果 span
不是 class
,而是 id
,它将毫无问题地工作,将 .
更改为 #
,即 doc.Find("#main-info__title-main").Text()
。那么,我在这里做错了什么,使用 class
名称的选择器?
事实证明代码确实没问题。进一步调试我发现由于验证码,该站点未正确获取。
我正在使用 goquery 从某些站点获取一些数据。当元素有 id
时我没有问题,但当元素只有 class
.
例如,假设这个 site。我想检索名称和价格。为此,我使用:
func fetch(doc *goquery.Document) (name string, price string) {
name = doc.Find(".main-info__title-main").Text()
if name == "" {
log.Fatal("Could not retrieve property name")
}
price = doc.Find(".info-data-price").Text()
if price == "" {
log.Fatal("Could not retrieve property price")
}
return name, price
}
然而,我在这两种情况下内容总是""
。如果 span
不是 class
,而是 id
,它将毫无问题地工作,将 .
更改为 #
,即 doc.Find("#main-info__title-main").Text()
。那么,我在这里做错了什么,使用 class
名称的选择器?
事实证明代码确实没问题。进一步调试我发现由于验证码,该站点未正确获取。