项目简介
Orcworker是一款纯Go实现的、轻量级、插件化的爬虫框架。该框架能助力开发者轻松构建爬虫程序,项目中的多个Go语言库和模块为在Google App Engine上开发Go语言应用提供了丰富工具和API,可处理日志、数据库交互、并发控制、错误处理、环境检测等功能。
项目的主要特性和功能
- 轻量级爬虫框架:用Go语言实现,利于快速开发和部署爬虫程序。
- 日志处理:提供App Engine日志服务接口,可进行日志记录、检索和状态管理。
- 数据库交互:提供与App Engine Datastore的交互接口,支持实体的创建、读取、更新、删除以及查询操作。
- 并发控制:提供机制跟踪并管理goroutine的生命周期,包含创建、终止和错误处理。
- 错误处理:具备处理API调用错误和错误映射的功能。
- 环境检测:可获取和应用环境信息,如应用ID、命名空间、版本等。
- 并发上下文管理:在并发操作中管理上下文和生命周期,确保相关资源适时释放。
安装使用步骤
前提条件
确保Go版本 ≥Go1.10。
使用步骤
- 假设你已经下载了本项目的源码文件。
- 可参考
example
目录下的示例代码进行开发,以下是简单示例: ```go package main
import ( "log" "io/ioutil" )
func main() { download := downloader.NewSimpleDownloader() seed, _ := orcworker.NewSeed("https://blog.fly123.tk/json.php", "GET", nil, nil) st := storage.NewMemoryStorage() scheduler, _ := orcworker.NewScheduler(st, download, -1 ,-1, nil)
scheduler.AddProcessor(func(job *orcworker.Job) (seeds []*orcworker.Seed, err error) {
body, _ := ioutil.ReadAll(job.Response.Body)
log.Println(string(body))
return
})
log.Fatalln(scheduler.Start(seed))
} ``` 3. 根据自身需求修改代码,运行程序即可开始使用爬虫框架。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】