首页
读书
网课

正文

我们来通过一个 hello word 案例快速体验下 colly 的使用。步骤如下:

第一步,导入 colly。

import "github.com/gocolly/colly"

第二步,创建 collector。

c := colly.NewCollector()

第三步,事件监听,通过 callback 执行事件处理。

// Find and visit all linksc.OnHTML("a[href]", func(e *colly.HTMLElement) {
    link := e.Attr("href")    // Print link
    fmt.Printf("Link found: %q -> %s\n", e.Text, link)    // Visit link found on page
    // Only those links are visited which are in AllowedDomains
    c.Visit(e.Request.AbsoluteURL(link))
})

c.OnRequest(func(r *colly.Request) {
    fmt.Println("Visiting", r.URL)
})

我们顺便列举一下 colly 支持的事件类型,如下:

  • OnRequest 请求执行之前调用

  • OnResponse 响应返回之后调用

  • OnHTML 监听执行 selector

  • OnXML 监听执行 selector

  • OnHTMLDetach,取消监听,参数为 selector 字符串

  • OnXMLDetach,取消监听,参数为 selector 字符串

  • OnScraped,完成抓取后执行,完成所有工作后执行

  • OnError,错误回调

最后一步,c.Visit() 正式启动网页访问。

c.Visit("http://go-colly.org/")

案例的完成代码在 colly 源码的 _example 目录下 basic 中提供。



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