一起源码网

  • QingYuanMa.com
  • 全球最大的互联网技术和资源下载平台
搜索
猜你喜欢
查看: 5299|回复: 1
打印 上一主题 下一主题

用网页截图API接口自动生成网页截图

[复制链接]

0

主题

0

帖子

1万

积分

钻石会员

Rank: 8Rank: 8

积分
17424
QQ
跳转到指定楼层
楼主
发表于 2020-5-7 14:30 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
背景

最近在开发一个小程序,其中有一个帮助模块,内容为帮助文章列表,文章内容为网站后台编辑的富文本格式。鉴于小程序的特殊性,其对html格式的富文本支持并不友好。

刚开始有人开发了wxparse插件,后来微信提供了rich-text组件,但是这两者存在一些问题。

思路

后台编辑的文章样式经过wxparse或者richtext组件显示后,都存在一些兼容性问题。如果我们将文章内容做成图片,然后用image来下显示应该可以达到比较理想的效果。

但是没一篇文章都找美工区设计一张图片费时费力,修改还费劲。

如果我们后台编辑的文章能自动生成一个图片就完美了。

方案

查询后发现国外网站thumb.io提供了类似的服务,可以利用API接口将指定地址保存为图片。但是经过测试发现图片并不清晰,而且访问速度非常慢。然后我就自己安装了phantomjs并进行了测试,效果比较理想。

用phantomjs保存的百度首页截图

为了实现自动化,我还做成了web api。通过将对应文章的网址发送到指定的api就可以自动生成截图(异步方式)。具体方法就是有截图请求的时候,将请求保存到数据库,然后服务器上跑一个程序挨个执行截图操作,截图后修改对应请求的状态。

----------------------------------------------------

API接口({}中的内容为参数值)

使用方法:将需要截图的网址传递到通过生成截图请求接口,一段时间(建议10秒)后再通过查询接口查询,如果返回的code=0,status=1的时候,直接将thumb保存到本地即可。

生成截图请求:{URL}

      说明:URL参数必须进行urlencode,否则可能出错

      实例:

      返回:JSON格式

         code    0 成功,1 网址格式错误, 2 网址已存在

         msg    错误信息(仅code不为0是存在)

         task_id   任务ID,查询状态时需要用到(code为0或者2时)

         key    查询秘钥,查询状态时需要用到(code为0或者2时)

         status   任务状态,如果任务已存在则会返回此状态,-1表示失败,0表示处理中,1表示已完成

         thumb   截图地址,可直接将此图片下载到本地 (code为2且status为1时)

         err_msg   错误信息,仅status=-1时存在

查询任务状态:{TASK_ID}&key={KEY}

      说明:task_id和key都是生成请求时返回,必填

      实例:

      返回:JSON

        code    返回状态,0成功,3 任务不存在,4 查询秘钥错误

        status    code为0时,status=-1表示失败,status=0表示处理中,status=1表示已完成

        thumb   code位0且status为1时,截图地址,可直接将此图片下载到本地

        err_msg   错误信息,仅status=-1时存在

----------------------------------------------------

分享到:  QQ好友和群QQ好友和群
收藏收藏
回复

使用道具 举报

0

主题

20

帖子

62

积分

注册会员

Rank: 2

积分
62
沙发
发表于 2022-7-16 16:05 | 只看该作者
源码网站开发
回复

使用道具 举报

轻源码让程序更轻更快

QingYuanMa.com

工作时间 周一至周六 8:00-17:30

侵权处理

客服QQ点击咨询

关注抖音号

定期抽VIP

Copyright © 2016-2021 https://www.171739.xyz/ 滇ICP备13200218号

快速回复 返回顶部 返回列表