快速、优雅的爬虫框架对于golang开发者
colly提供一个干净的接口对于写任何类型的网络爬虫。
使用Colly,您可以轻松地从网站提取结构化数据,可以用于广泛的应用程序,如数据挖掘,数据处理或存档。

特性

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


例子

  1. c := colly.NewCollector()
  2. // Find and visit all links
  3. c.OnHTML("a[href]", func(e *colly.HTMLElement) {
  4. e.Request.Visit(e.Attr("href"))
  5. })
  6. c.OnRequest(func(r *colly.Request) {
  7. fmt.Println("Visiting", r.URL)
  8. })
  9. c.Visit("http://go-colly.org/")
  10. }

请参阅示例文件夹以获得更详细的示例。

安装

添加colloy到你的 go.mod文件:

  1. module github.com/x/y
  2. go 1.14
  3. require (
  4. github.com/gocolly/colly/v2 latest
  5. )

Bugs

bug或建议吗?访问问题跟踪器或加入#colly的freenode

使用Colly的其他项目

下面是使用Colly的公共开源项目列表: