爱意满满的作品展示区。
star7th

screenshot 网站截图服务(beta)

  •  1
     
  •   star7th · Apr 12, 2022 · 4714 views
    This topic created in 1635 days ago, the information mentioned may be changed or developed.

    简要描述

    • screenshot 是一个在线服务,功能是把网页生成图片。下面将介绍如何使用.

    快速试用预览

    请求 URL

    请求方式

    • GET 或者 POST

    参数

    参数名 必选 类型 说明
    url 是 string 需要生成截图的网页 url
    width 否 int 截图里使用的窗口宽度。默认 1376
    height 否 int 截图里使用的窗口高度。默认 768
    format 否 string 返回的格式。可选值有 json 、file 、html 。默认值是 json ,意思是返回 json 格式的字符串。下文会给出各种返回示例

    当 format=json 时的返回

      {
        "base64": "(base64 内容)",
    	
      }
    

    当 format=html 时的返回

    // 它输出的是一段 hrml 代码,这段代码如果是直接浏览器访问,则会直接在用户浏览器中显示图片出来
    <img src="data:image/png;base64,${base64}" >
    
    
    

    当 format=html 时的返回

    
    直接输出二进制文件,如果是直接浏览器访问,则弹出文件下载框来下载文件
    
    
    33 replies  •  2022-04-17 21:43:04 +08:00
    nexmoe
        1
    nexmoe  
       Apr 12, 2022
    不错
    linglin0924
        2
    linglin0924  
       Apr 12, 2022 via Android
    这是啥原理。获取 html 渲染吗
    star7th
        3
    star7th  
    OP
       Apr 12, 2022
    @linglin0924 是的,就是服务端渲染
    awesomes
        4
    awesomes  
       Apr 12, 2022
    这种东西技术很简单,而且还有更多的比如水印、高亮元素、绕过一些网站的验证等都可以做,这个东西的重点是要在服务端跑浏览器渲染需要大量的服务资源,配置低了压根没戏,做成免费服务只怕你没这个财力
    star7th
        5
    star7th  
    OP
       Apr 12, 2022
    @awesomes 边运行边看吧,现在都没多少人用,没必要过分担心资源使用问题,大不了到时候要去登录验证+次数限制即可
    linglin0924
        6
    linglin0924  
       Apr 12, 2022
    @star7th

    渲染可以挂在自己的家用电脑上吧,成图靠着云服务器转发。
    star7th
        7
    star7th  
    OP
       Apr 12, 2022
    @linglin0924 我不想因此而一直开着自己的电脑,所以不会考虑用家用电脑渲染
    sarices
        8
    sarices  
       Apr 12, 2022
    打不开
    iqoo
        9
    iqoo  
       Apr 12, 2022
    Internal Server Error, real status: 500
    iqoo
        10
    iqoo  
       Apr 12, 2022
    这种服务有风险。浏览器内核更新不及时的话,用个 1day 就入侵了。
    missdeer
        11
    missdeer  
       Apr 12, 2022
    Internal Server Error, real status: 500
    挂了
    star7th
        12
    star7th  
    OP
       Apr 12, 2022
    @sarices
    @iqoo
    被太多访问搞挂了一下。不过它会利用 k8s 的机制自动重启,过会儿就好了
    star7th
        13
    star7th  
    OP
       Apr 12, 2022
    @iqoo 没事,反正它是跑在容器里,入侵也是入侵容器
    Ritter
        14
    Ritter  
       Apr 12, 2022
    用的 puppeteer 吗
    star7th
        15
    star7th  
    OP
       Apr 12, 2022
    @Ritter 是的
    zzl22100048
        16
    zzl22100048  
       Apr 12, 2022
    让我想到了 rendertron
    AkaGhost
        17
    AkaGhost  
       Apr 12, 2022 via Android
    持续用的话 gitbub 的 actions 去调用 headless chrome 会不会更好一些?

    自己的设备浏览器可以直接截取,更新缩览图的话也可以用 actions ,不太能想通这个站点的应用场景… :thinking:
    mclxly
        18
    mclxly  
       Apr 12, 2022
    类似的工具我做过,想做好太难,会遇到例如动态加载、顶部固定导航栏、超长网页(高度大于 5 万像素)等问题。

    https://screenshot.showdoc.com.cn/capture?format=html&url=https://www.jd.com/
    下方很多空白方块。
    star7th
        19
    star7th  
    OP
       Apr 12, 2022
    @mclxly 动态加载的,我本来想过通过模拟滚动的方式解决,但是这样又会增加资源消耗和错误率,所以就放弃了。这样的服务是挺难的,我看用户情况在决定投入多少人力和资源去做吧。多人用就花更多力气去做,少人用就少一点。
    star7th
        20
    star7th  
    OP
       Apr 12, 2022
    @wyf001912hp 其实这个服务是朋友让我做,我做完后就顺便放出来的。我想到的场景有两个:
    1 ,面向设计师的产品,有时候需要提供一个功能,就是设计师输入一个网址,就生成截图给他存档。
    2 ,可以生成网页海报。比如说分享年度账单截图到朋友圈之类的
    hazardous
        21
    hazardous  
       Apr 12, 2022
    https://github.com/scrapinghub/splash
    python 网站快照,用了很多年了
    tsingwong
        22
    tsingwong  
       Apr 12, 2022
    借鉴 https://github.com/alvarcarto/url-to-pdf-api 在公司内部写了个类似的服务,是
    yisier
        23
    yisier  
    PRO
       Apr 12, 2022
    star7th
        24
    star7th  
    OP
       Apr 13, 2022
    @mclxly 我已经开启模拟滚动。现在可以生成京东首页了。https://screenshot.showdoc.com.cn/capture?format=html&url=https://www.jd.com/
    star7th
        25
    star7th  
    OP
       Apr 13, 2022
    @sarices
    @iqoo
    @missdeer
    早前经常发生故障打不开是因为计算资源拥堵。现在我迁移到了新机器,应该可以一直稳定正常了。
    rizon
        26
    rizon  
       Apr 13, 2022
    这东西是怎么处理脚本的啊?
    比如 js 里我写一个死循环,然后用来做 ddos 攻击,这个服务会怎么处理呢?
    rizon
        27
    rizon  
       Apr 13, 2022
    @rizon #26 如果是监测网页内容是否渲染完成,我是不是可以通过脚本动态的改变网页内容,然后让你的渲染进程一直不停止,来利用的你的计算资源做些什么事情?
    star7th
        28
    star7th  
    OP
       Apr 13, 2022
    @rizon ddos 攻击那这个服务就挂掉呗。反正不是什么重要服务。它过一会儿会自己容灾重启的。
    star7th
        29
    star7th  
    OP
       Apr 13, 2022
    @rizon 计算资源有个总量限制的。如果异常的话,会告警我去看的,我会禁止。
    seakingii
        30
    seakingii  
       Apr 14, 2022
    https://screenshot.showdoc.com.cn/capture?format=html&url=https://www.jd.com/

    完全生成不了
    我感觉没必要,也没能力提供免费服务.自己用用就行了.
    star7th
        31
    star7th  
    OP
       Apr 14, 2022
    @seakingii 就你发的这个链接,生成京东首页的,我这边没问题,能生成。只是生成比较慢,需要好几秒生成+几秒下载。生成的截图差不都 9M 大小
    Kinnice
        32
    Kinnice  
       Apr 17, 2022 via Android
    @rizon 比如挖矿脚本
    star7th
        33
    star7th  
    OP
       Apr 17, 2022
    @Kinnice 这玩意有执行资源限制 /执行时间限制,而且限制还挺死的,那一点点算力资源能挖什么矿,吃力不讨好。等服务器持续高占,告警发给我,进程就会我结束掉。做这件事纯属是自己得不到好处,还给别人添麻烦。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2409 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 60ms · UTC 12:47 · PVG 20:47 · LAX 05:47 · JFK 08:47
    ♥ Do have faith in what you're doing.