go

colly 优雅的 Golang 爬虫框架

Posted by eye on 03-01,2024

colly crawler

闪电般快速且优雅的 Golang 爬虫框架

Colly 提供了一个干净的接口来编写任何类型的爬虫。

借助 Colly,您可以轻松地从网站中提取结构化数据,这些数据可用于多种应用,例如数据挖掘、数据处理或归档。

特性 :

  • 干净的API
  • 快速(单核上>1k 请求/秒)
  • 管理每个域的请求延迟和最大并发数
  • 自动 cookie 和会话处理
  • 同步/异步/并行抓取
  • 缓存
  • 非 unicode 响应的自动编码
  • Robots.txt 支持
  • 分布式抓取
  • 通过环境变量进行配置

例子


func main() {
	c := colly.NewCollector()

	// Find and visit all links
	c.OnHTML("a[href]", func(e *colly.HTMLElement) {
		e.Request.Visit(e.Attr("href"))
	})

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

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