vps搭建网站是什么意思,建设向58同城的网站,请人做网站收费多少,wordpress扩展前言#xff1a;前段时间需要一大批图片#xff0c;跑去百度搜图下载#xff0c;发现特别麻烦#xff0c;于是用了一天时间写了一个工具库#xff0c;方便后续使用#xff0c;这里分享给大家
imagecapture 是一个用 Go 语言编写的库#xff0c;旨在从百度和必应等搜索引…前言前段时间需要一大批图片跑去百度搜图下载发现特别麻烦于是用了一天时间写了一个工具库方便后续使用这里分享给大家
imagecapture 是一个用 Go 语言编写的库旨在从百度和必应等搜索引擎捕获图片。它提供了一个接口用于搜索和下载图片并支持多种自定义选项。
项目地址
特性
多引擎支持支持百度、必应后续将添加 Google 搜索。高级筛选支持根据版权、图片尺寸、动图等进行筛选。并发抓取使用并发抓取功能提高图片抓取效率。去重功能自动去重确保返回的图片 URL 唯一。分页迭代功能- 支持大批量图片的分页获取。。
安装
通过 go get 安装该工具包
go get github.com/code-innovator-zyx/imagecapture快速开始
初始化 BaiduCapture
package mainimport (fmtgithub.com/code-innovator-zyx/imagecapturelog
)func main() {keyword : 美女maxImageNums : 20// 新建一个百度图片捕获器 routineSize 限制协爬取的携程池数量baiduCapture : imagecapture.NewBaiduCapture(5)// 搜索图片urls, err : baiduCapture.SearchImages(keyword, maxImageNums)if err ! nil {log.Fatalln(err.Error())}filename : ./beautiful// 可以使用内置下载器下载图片 注文件后缀会根据图片真是类型进行判断suffix, err : baiduCapture.Download(urls[0], filename, nil)if err ! nil {log.Fatalln(err.Error())}fmt.Println(suffix)
}
初始化 BingCapture
package mainimport (fmtgithub.com/code-innovator-zyx/imagecapturelog
)func main() {keyword : 美女maxImageNums : 20// 新建一个必应图片捕获器 routineSize 限制协爬取的携程池数量bingCapture : imagecapture.NewBingCapture(5)// 搜索图片urls, err : bingCapture.SearchImages(keyword, maxImageNums)if err ! nil {log.Fatalln(err.Error())}filename : ./beautiful// 可以使用内置下载器下载图片 注文件后缀会根据图片真是类型进行判断suffix, err : bingCapture.Download(urls[0], filename, nil)if err ! nil {log.Fatalln(err.Error())}fmt.Println(suffix)
}主要功能
SearchImages
用于在指定搜索引擎中根据关键词搜索图片。
参数
keyword (string): 搜索关键词。maxNumber (int): 要返回的最多图片数量。opts (Option): 可选参数用于指定其他筛选条件例如图片尺寸、是否高清、动图等。
示例
// 使用 WithImageSize、WithHd 等选项来进行筛选
images, err : baiduCapture.SearchImages(sunrise, 20, imagecapture.WithHd(), imagecapture.WithImageSize(imagecapture.Medium))RangeImages
用于在指定搜索引擎中根据关键词持续搜索图片。
参数
keyword (string): 搜索关键词。callBack (func(string)bool): 每一批图片的回调函数。opts (Option): 可选参数用于指定其他筛选条件例如图片尺寸、是否高清、动图等。
示例
capture.RangeImages(老虎, func (urls []string) bool {
return true
})
if err ! nil {
t.Error(err.Error())
return
}
}) 更多案例 支持的筛选选项
仅百度搜索支持以下筛选选项
1. WithCopyright()
过滤版权问题的图片仅返回无版权限制的图片。
2. WithImageSize(size ImageSize)
限制搜索图片的大小。ImageSize 可以是以下几种
Small小尺寸Medium中等尺寸Large大尺寸
3. WithLatest()
搜索最新的图片仅返回最近上传或更新的图片。
4. WithGif()
搜索动图返回 .gif 格式的图片。
5. WithHd()
搜索高清图
图片去重
工具 内部会使用 map 来去重 URL确保每个返回的 URL 唯一。这样可以避免重复图片 URL 出现在结果中。
配置
配置并发度
BaiduCapture 和 BingCapture 都可以通过传入并发数量来配置并发度最多支持 6 个并发。
bingCapture : imagecapture.NewBaiduCapture(6) // 最大并发6免责声明
本项目仅用于个人学习、研究和开发目的禁止用于任何非法用途或商业用途。使用本 库 进行的所有操作和行为由用户自行承担风险。
本 库 的图片抓取功能仅适用于合法的数据抓取用途用户应遵守相关法律法规。本 库 使用的第三方图片搜索引擎如百度、必应等可能会随时更改其接口或数据访问策略使用时需自行留意相关的变化。本项目不对通过 库 抓取的任何内容的版权、合法性等问题承担任何责任。
使用本库即表示用户同意并遵守上述条款。