介绍

Go Crawler 文档 #

基于golang实现的爬虫框架,编写简单,性能强劲。内置了丰富的实用中间件,支持多种解析、保存方式,支持分布式部署。

运行 #

git clone git@github.com:lizongying/go-crawler-example.git my-crawler
cd my-crawler
go run cmd/multi_spider/*.go -c example.yml -n test1 -m once

功能 #

  • 编写简单,性能强劲。
  • 内置多种实用中间件,开发起来更轻松。
  • 支持多种解析方式,解析页面更简单。
  • 支持多种保存方式,数据存储更灵活。
  • 提供了更多的配置选项,配置更丰富。
  • 组件支持自定义,功能拓展更自由。
  • 内置模拟服务,调试开发更方便。
  • 支持分布式部署

支持情况 #

  • 解析支持CSS、XPath、Regex、Json
  • 支持Json、Csv、Mongo、Mysql、Sqlite、Kafka输出
  • 支持gb2312、gb18030、gbk、big5中文解码
  • 支持gzip、deflate、brotli解压缩
  • 支持分布式
  • 支持Redis、Kafka作为消息队列
  • 支持自动Cookie、重定向
  • 支持BaseAuth认证
  • 支持请求重试
  • 支持请求过滤
  • 支持图片文件下载
  • 支持图片处理
  • 支持对象存储
  • 支持ssl指纹修改
  • 支持http2
  • 支持随机请求头
  • 支持模拟浏览器
  • 支持浏览器ajax请求
  • 支持模拟服务
  • 支持优先级队列
  • 支持定时任务、循环任务、单次任务
  • 支持基于字段标签的解析
  • 支持dns缓存
  • 支持中间人代理
  • 支持错误记录