如何使用Golang拍摄网站截图?
我想做的是,给我一个URL,然后用Golang截图。我搜索了结果,但没有得到任何结果。有人能帮我吗。目前没有纯粹的golang方法,因为它必须涉及某种形式的浏览器 实现此功能的最简单途径可能是:如何使用Golang拍摄网站截图?,go,webpage-screenshot,Go,Webpage Screenshot,我想做的是,给我一个URL,然后用Golang截图。我搜索了结果,但没有得到任何结果。有人能帮我吗。目前没有纯粹的golang方法,因为它必须涉及某种形式的浏览器 实现此功能的最简单途径可能是: 找到一个不错的NodeJS库来拍摄网站截图 创建一个符合您截图(i/o和设置)需要的NodeJS脚本 从Golang执行这个NodeJS脚本,并在Golang代码中处理结果 但这不是最干净的方法——如果你想让它更干净,你可能必须构建/找到一个控制浏览器的golang包,这样你就可以跳过NodeJS中
- 找到一个不错的NodeJS库来拍摄网站截图
- 创建一个符合您截图(i/o和设置)需要的NodeJS脚本
- 从Golang执行这个NodeJS脚本,并在Golang代码中处理结果
但这不是最干净的方法——如果你想让它更干净,你可能必须构建/找到一个控制浏览器的golang包,这样你就可以跳过NodeJS中间人。如果你想走这条路,你可以使用Go版本的Selenium 我用一个镀铬的无头docker容器解决了这个问题
您可以在这里看到我的服务示例:更多使用Go和Chrome/Chrome的工具包括:
- CLI应用程序
- 图书馆
- 基于的CLI应用程序
google.com
并截图的示例代码
主程序包
进口(
“时间”
驱动程序“github.com/dreygur/webdriver”
)
func main(){
网址:=`https://google.com`
驱动程序.RunServer(“./geckodriver”)
driver.GetSession()
获取驱动程序(url)
时间。睡眠(8*时间。秒)
驱动程序屏幕截图(“谷歌”)
时间。睡眠(8*时间。秒)
延迟驱动程序Kill()
}
要安装该模块,运行
go-get-github.com/dreygur/webdriver
需要纯go中的渲染引擎。没有。使用PhantomJS或类似的东西。告诉用户通过按“打印屏幕”按钮上传屏幕截图。