参数名 | 必选 | 类型 | 说明 |
---|---|---|---|
url | 是 | string | 需要生成截图的网页 url |
width | 否 | int | 截图里使用的窗口宽度。默认 1376 |
height | 否 | int | 截图里使用的窗口高度。默认 768 |
format | 否 | string | 返回的格式。可选值有 json 、file 、html 。默认值是 json ,意思是返回 json 格式的字符串。下文会给出各种返回示例 |
{
"base64": "(base64 内容)",
}
// 它输出的是一段 hrml 代码,这段代码如果是直接浏览器访问,则会直接在用户浏览器中显示图片出来
<img src="data:image/png;base64,${base64}" >
直接输出二进制文件,如果是直接浏览器访问,则弹出文件下载框来下载文件
1
nexmoe 2022-04-12 13:08:47 +08:00
不错
|
2
linglin0924 2022-04-12 13:31:46 +08:00 via Android
这是啥原理。获取 html 渲染吗
|
3
star7th OP @linglin0924 是的,就是服务端渲染
|
4
awesomes 2022-04-12 13:40:12 +08:00
这种东西技术很简单,而且还有更多的比如水印、高亮元素、绕过一些网站的验证等都可以做,这个东西的重点是要在服务端跑浏览器渲染需要大量的服务资源,配置低了压根没戏,做成免费服务只怕你没这个财力
|
6
linglin0924 2022-04-12 14:20:23 +08:00
|
7
star7th OP @linglin0924 我不想因此而一直开着自己的电脑,所以不会考虑用家用电脑渲染
|
8
sarices 2022-04-12 14:25:02 +08:00
打不开
|
9
iqoo 2022-04-12 14:28:45 +08:00
Internal Server Error, real status: 500
|
10
iqoo 2022-04-12 14:29:54 +08:00
这种服务有风险。浏览器内核更新不及时的话,用个 1day 就入侵了。
|
11
missdeer 2022-04-12 14:31:19 +08:00
Internal Server Error, real status: 500
挂了 |
14
Ritter 2022-04-12 14:34:16 +08:00
用的 puppeteer 吗
|
16
zzl22100048 2022-04-12 15:39:01 +08:00
让我想到了 rendertron
|
17
AkaGhost 2022-04-12 17:11:05 +08:00 via Android
持续用的话 gitbub 的 actions 去调用 headless chrome 会不会更好一些?
自己的设备浏览器可以直接截取,更新缩览图的话也可以用 actions ,不太能想通这个站点的应用场景… :thinking: |
18
mclxly 2022-04-12 17:19:35 +08:00
类似的工具我做过,想做好太难,会遇到例如动态加载、顶部固定导航栏、超长网页(高度大于 5 万像素)等问题。
https://screenshot.showdoc.com.cn/capture?format=html&url=https://www.jd.com/ 下方很多空白方块。 |
19
star7th OP @mclxly 动态加载的,我本来想过通过模拟滚动的方式解决,但是这样又会增加资源消耗和错误率,所以就放弃了。这样的服务是挺难的,我看用户情况在决定投入多少人力和资源去做吧。多人用就花更多力气去做,少人用就少一点。
|
20
star7th OP @wyf001912hp 其实这个服务是朋友让我做,我做完后就顺便放出来的。我想到的场景有两个:
1 ,面向设计师的产品,有时候需要提供一个功能,就是设计师输入一个网址,就生成截图给他存档。 2 ,可以生成网页海报。比如说分享年度账单截图到朋友圈之类的 |
21
hazardous 2022-04-12 17:41:07 +08:00
https://github.com/scrapinghub/splash
python 网站快照,用了很多年了 |
22
tsingwong 2022-04-12 17:45:01 +08:00
借鉴 https://github.com/alvarcarto/url-to-pdf-api 在公司内部写了个类似的服务,是
|
23
yisier 2022-04-12 19:14:46 +08:00
|
24
star7th OP @mclxly 我已经开启模拟滚动。现在可以生成京东首页了。https://screenshot.showdoc.com.cn/capture?format=html&url=https://www.jd.com/
|
25
star7th OP |
26
rizon 2022-04-13 18:49:44 +08:00
这东西是怎么处理脚本的啊?
比如 js 里我写一个死循环,然后用来做 ddos 攻击,这个服务会怎么处理呢? |
27
rizon 2022-04-13 18:50:53 +08:00
@rizon #26 如果是监测网页内容是否渲染完成,我是不是可以通过脚本动态的改变网页内容,然后让你的渲染进程一直不停止,来利用的你的计算资源做些什么事情?
|
30
seakingii 2022-04-14 14:33:40 +08:00
https://screenshot.showdoc.com.cn/capture?format=html&url=https://www.jd.com/
完全生成不了 我感觉没必要,也没能力提供免费服务.自己用用就行了. |
31
star7th OP @seakingii 就你发的这个链接,生成京东首页的,我这边没问题,能生成。只是生成比较慢,需要好几秒生成+几秒下载。生成的截图差不都 9M 大小
|
33
star7th OP @Kinnice 这玩意有执行资源限制 /执行时间限制,而且限制还挺死的,那一点点算力资源能挖什么矿,吃力不讨好。等服务器持续高占,告警发给我,进程就会我结束掉。做这件事纯属是自己得不到好处,还给别人添麻烦。
|