我想要做什么,给出一个URL并使用golang截取网站的截图。我搜索了结果,但我没有得到任何结果。任何人都可以帮助我。
答案 0 :(得分:2)
此刻没有纯粹的golang方法,因为它必须涉及浏览器的某种形式。
实现此功能的最简单途径可能是:
这不是最干净的方法 - 如果你想要它更清洁你可能必须构建/找到一个控制浏览器的golang包,这样你就可以跳过NodeJS中间人。
答案 1 :(得分:1)
如果您想要走这条路线,可以使用Go版本的Selenium。 https://godoc.org/github.com/tebeka/selenium
答案 2 :(得分:0)
我使用https://github.com/mafredri/cdp和Chrome无头泊坞广告容器解决了这个问题。
您可以在此处查看我的服务示例:https://gist.github.com/efimovalex/9f9b815b0d5b1b7889a51d46860faf8a
答案 3 :(得分:0)
更多使用Go和Chrome / Chromium的工具包括:
gowitness
CLI应用程序screenshot
库web2image
的chromedp
CLI应用答案 4 :(得分:0)
我正在为此特定任务编写程序。以下是浏览 google.com
并截取屏幕截图的示例代码。
package main
import (
"time"
driver "github.com/dreygur/webdriver"
)
func main() {
url := `https://google.com`
driver.RunServer("./geckodriver")
driver.GetSession()
driver.Get(url)
time.Sleep(8 * time.Second)
driver.Screenshot("google")
time.Sleep(8 * time.Second)
defer driver.Kill()
}
要安装模块,请运行 go get github.com/dreygur/webdriver