使用html选择器进行网页抓取

时间:2020-04-23 10:21:09

标签: go web-scraping jquery-selectors goquery

尝试使用html / css选择器div.ipchecker获取一些数据,该选择器显示站点https://ipstack.com/中客户详细信息的对象 这是我的代码

package main

import (
    "fmt"
    "net/http"

    "github.com/PuerkitoBio/goquery"
)

const (
    site1 = "https://ipstack.com/"
    site2 = "https://geoip.nekudo.com"
)

var count int

func get(s string) (count int, body string) {
    resp, err := http.Get(s)
    if err != nil {
        return 0, err.Error()
    }
    defer resp.Body.Close()

    count++

    doc, _ := goquery.NewDocumentFromReader(resp.Body)

    return count, doc.Find("div.ipchecker").Text()
}

func main() {
    _, b := get(site1)
    fmt.Println(b)
}

我正在使用goquery,但是当我运行程序时,我没有得到完整的对象,而是直接得到了右上角的按钮。我怀疑在尝试通过其选择器抓取数据时是否存在隐藏数据的方法。不知道是什么问题。也许有更好的方法可以更好地刮擦物体并得到我需要的东西?

0 个答案:

没有答案