ajax 加载网站内容后进行网页抓取

这是我的代码:

package main


import (

    "fmt"

    "log"


    "github.com/gocolly/colly"

)


func main() {

    c := colly.NewCollector(

        colly.IgnoreRobotsTxt(),

        colly.Async(false),

    )


    c.OnHTML("html", func(e *colly.HTMLElement) {

        fmt.Println(e.Text)

    })


    c.OnError(func(_ *colly.Response, err error) {

        log.Println("Something went wrong:", err)

    })


    c.Visit("https://www56.muenchen.de/termin/index.php?loc=BB")


    c.OnScraped(func(r *colly.Response) {

        fmt.Println("Finished")

    })

}

问题是访问网站后它会加载一些内容。我不确定如何告诉 colly“等待”直到发生这种情况,然后查看结果。


期待一些想法。


去网络抓取


Qyouu
浏览 53回答 1
1回答

慕桂英3389331

它不能,因为 colly 必须在客户端执行该操作,但 colly不执行 JavaScript - 因此没有 Ajax。要模拟浏览器,您可以使用 selenium 或 phantomjs。
打开App,查看更多内容
随时随地看视频慕课网APP