Golang 爬虫工具 gocolly

gocolly 概述

gocolly 是一款快速优雅的golang爬虫框架,简单易用,功能完备。

官网地址: http://go-colly.org

gocolly安装

go get github.com/gocolly/colly/v2

使用示例

package main

import (
	"fmt"

	"github.com/gocolly/colly/v2"
)

func main() {
	// 实例化默认收集器
	c := colly.NewCollector(
		// 设置允许采集的域名,多个使用 , 隔开
		colly.AllowedDomains("www.jianshu.com", "www.baidu.com"),
	)

	// 在每个具有href属性的a元素上调用回调
	c.OnHTML("a[href]", func(e *colly.HTMLElement) {
		link := e.Attr("href")
		fmt.Printf("Link found: %q -> %s\n", e.Text, link)
		// 继续访问发现的链接
		// c.Visit(e.Request.AbsoluteURL(link))
	})

	// 在提出请求之前,请打印 “访问…”
	c.OnRequest(func(r *colly.Request) {
		fmt.Println("Visiting", r.URL.String())
	})

	// 开始采集
	err := c.Visit("https://www.jianshu.com/")
	fmt.Printf("err: %v\n", err)
}