Что я делаю неправильно, разбирая HTML с Goquery с помощью селектора класса? - PullRequest
0 голосов
/ 10 октября 2019

Я использую 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
}

Однако в обоих случаях содержимое всегда "". Если бы вместо class у span был id, он бы работал без каких-либо проблем, изменив . на #, то есть doc.Find("#main-info__title-main").Text(). Итак, что я делаю не так, используя селектор с именем class?

1 Ответ

0 голосов
/ 10 октября 2019

Оказывается, код на самом деле был в порядке. Дальнейшая отладка Я обнаружил, что сайт не был правильно выбран из-за CAPTCHA.

...