首页
读书
网课

正文

回调

您可以将不同类型的回调函数附加到收集器,以控制收集作业或检索信息。查看包文档中的相关部分。


向收集器添加回调

c.OnRequest(func(r *colly.Request) {

    fmt.Println("Visiting", r.URL)

})

 

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

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

})


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

    fmt.Println("Visited", r.Request.URL)

})


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

    fmt.Println("Visited", r.Request.URL)

})

 

c.OnHTML("a[href]", func(e *colly.HTMLElement) {

    e.Request.Visit(e.Attr("href"))

})

 

c.OnHTML("tr td:nth-of-type(1)", func(e *colly.HTMLElement) {

    fmt.Println("First column of a table row:", e.Text)

})

 

c.OnXML("//h1", func(e *colly.XMLElement) {

    fmt.Println(e.Text)

})

 

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

    fmt.Println("Finished", r.Request.URL)

})


回调的调用顺序

1. OnRequest

在请求之前调用

 

2. OnError

如果请求期间发生错误,则调用


3.OnResponseHeaders


4.OnResponse

收到响应后调用

 

5. OnHTML

如果接收到的内容是HTML,则在OnResponse之后立即调用

 

6. OnXML

如果接收到的内容是HTML或XML,则在OnHTML之后立即调用


7. OnScraped

在OnXML回调之后调用



上一篇: 没有了
下一篇: 没有了
圣贤书院