基本架构 #
-
Crawler:Crawler里可以有多个Spider,同时管理Spider的启动和关闭等。
-
Spider:集成了Downloader、Exporter、Scheduler等组件。在Spider里可以发起请求和解析内容。 您需要为每个Spider设置一个唯一名称。
spider.WithOptions(pkg.WithName("example"))package main import ( "github.com/lizongying/go-crawler/pkg" "github.com/lizongying/go-crawler/pkg/app" ) type Spider struct { pkg.Spider logger pkg.Logger } // some spider funcs func NewSpider(baseSpider pkg.Spider) (spider pkg.Spider, err error) { spider = &Spider{ Spider: baseSpider, logger: baseSpider.GetLogger(), } spider.WithOptions( pkg.WithName("test"), ) return } func main() { app.NewApp(NewSpider).Run() } -
Job
-
Task