本项目 fork 项目go_spider,github:https://github.com/hu17889/go_spider ,因此项目架构的部分文档可以参考此项目。
同时项目架构、部分思路参考了 python 的经典爬虫scrapy。
基本结构:
Spider模块(主控) Downloader模块(下载器) PageProcesser模块(页面分析) History(Url采集历史记录) Scheduler模块(任务队列) Pipeline模块(结果输出)
主要Feature:
1. 基于Go语言的并发采集 2. 页面下载、分析、持久化模块化,可自定义扩展 3. 采集日志记录(Mongodb支持) 4. 页面数据自定义存储(Mysql、Mongodb) 5. 深度遍历,同时可自定义深度层次 6. Xpath解析
主要用于定向采集网站。