golang是近几年发展非常迅猛的一款服务器端的语言,其生态也日益丰富。对于使用golang实现网页截图这个需求,笔者在经过一番调研之后发现大家有推荐Selenium方案,但是这一方案问题较多:
还有推荐headless chrome方案的,但是这一方案也需要自行在服务器端安装一款浏览器,对服务器的压力比较大,并发性能也不好,所以最后笔者直接选用了一款第三方API的截图服务。
该服务有如下特点:
使用方式也很简单,我们打开它的首页 https://www.screenshotmaster.com/ 注册一个账号,然后你会在用户中心获取到一个唯一的Token,保存好这个Token 不要泄漏!
下面来看看它支持的参数:
您可以前往 API文档 页面查看更多的参数。
使用golang调用截屏大师的接口获取截图:
package main import ( "fmt" "io" "io/ioutil" "net/http" url2 "net/url" "os" ) func main() { // 参数 token := "YOUR_API_TOKEN" url := url2.QueryEscape("https://www.baidu.com") width := 1280 height := 800 full_page := 1 // 构造URL query := "https://www.screenshotmaster.com/api/v1/screenshot" query += fmt.Sprintf("?token=%s&url=%s&width=%d&height=%d&full_page=%s", token, url, width, height, full_page) // 调用API resp, err := http.Get(query) if err != nil { panic(err) } defer resp.Body.Close() // 检查是否调用成功 if resp.StatusCode != 200 { errorBody, _ := ioutil.ReadAll(resp.Body) panic(fmt.Errorf("error while calling api %s", errorBody)) } // 保存截图 file, err := os.Create("./screenshot.png") if err != nil { panic(err) } defer file.Close() _, err = io.Copy(file, resp.Body) if err != nil { panic(err) } }
到此这篇关于golang快速实现网页截图的文章就介绍到这了,更多相关go实现网页截图内容请搜索小牛知识库以前的文章或继续浏览下面的相关文章希望大家以后多多支持小牛知识库!
本文向大家介绍浅析js实现网页截图的两种方式,包括了浅析js实现网页截图的两种方式的使用技巧和注意事项,需要的朋友参考一下 Web端的截图(生成图片)并不算是个高频的需求,资料自然也不算多,查来查去,也不过Canvas 和 SVG两种实现方案,原理大概相似,都非真正义上的截图而是把DOM转为图片,然而实现方式却截然不同。 Canvas 实现 如何将dom转换成canvas图片?自然是要一点点画到c
本文向大家介绍Android实现欢迎页快速启动的方法,包括了Android实现欢迎页快速启动的方法的使用技巧和注意事项,需要的朋友参考一下 Android 欢迎页快速启动 大家应该都知道,在默认情况下,Android App在点击App logo到App完全启动这之间会有一段时间空白期。那么如何做到在用户点击logo图标之后立即打开App的界面而不是一段白屏或黑屏呢? 设置xml 在drawabl
本文向大家介绍Python实现网页截图(PyQT5)过程解析,包括了Python实现网页截图(PyQT5)过程解析的使用技巧和注意事项,需要的朋友参考一下 方案说明 功能要求:实现网页加载后将页面截取成长图片 涉及模块:PyQT5 PIL 逻辑说明: 1:完成窗口设置,利用PyQT5 QWebEngineView加载网页地址,待网页加载完成后,调用check_pag; 2:收集页面高度,并计算分次
本文向大家介绍MongoDB快速翻页的方法,包括了MongoDB快速翻页的方法的使用技巧和注意事项,需要的朋友参考一下 翻阅数据是MongoDB最常见的操作之一。一个典型的场景是需要在你的用户界面中显示你的结果。如果你是批量处理的数据,同样重要的是要让你的分页策略正确,以便你的数据处理可以规模化。 接下来,让我们通过一个例子来看在MongoDB中翻阅数据的不同方式。在这个例子中,我们有一个CRM数
本文向大家介绍Linux环境下php实现给网站截图的方法,包括了Linux环境下php实现给网站截图的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Linux环境下php实现给网站截图的方法。分享给大家供大家参考,具体如下: 第一步:下载wkhtmltopdf 第二步:解压 第三步:继续解压 第四步:选择目录 第五步:选择lib目录 第六步:复制libwkhtmltox.so到usr
本文向大家介绍Winform实现将网页生成图片的方法,包括了Winform实现将网页生成图片的方法的使用技巧和注意事项,需要的朋友参考一下 通常浏览器都有将网页生成图片的功能,本文实例讲述了Winform实现将网页生成图片的方法。分享给大家供大家参考。具体方法如下: 工具截图如下: 生成后的图片如下: 手动填写网站地址,可选择图片类型和保持图片地址,来生成页面的图片,当图片路径未选择时则保存桌面;