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/")
}