php 抓取网页生成图片(用php如何实现回答这个得客户端跟服务端结合起来了)

优采云 发布时间: 2022-01-22 05:09

  php 抓取网页生成图片(用php如何实现回答这个得客户端跟服务端结合起来了)

  现在需要从网页的一部分(用户面板,相当复杂)生成图片。我怎样才能使用 php 来实现这一点?

  回答

  这是客户端和服务器的组合。屏幕截图是客户端的东西。保存是 PHP 的事情。

  使用 ActiveX 或 Java Applet 或 JavaScript

  JavaScript 的一个例子......

  Petal 的小书签实现了 JavaScript 截图功能

  这可以使用 canvas 标签来完成,但这不是一个图像,只是一个标签。

  如果要实现真实的图片,需要使用PHP的gd库或者Imagick在服务器端生成图片。上面的解决方案是不可行的,因为截图本质上是客户端行为。

  让我们使用 PantomJS,它相当于一个没有视图的 WebKit 浏览器,可以在服务器端渲染网页。

  1 IECapt 但需要 win 服务器,特别是 google

  2 linux下可以使用wkhtmltopdf将url网页保存为pdf,然后转换pdf 2 jpg

  3 imagegrabwindow手册有demo

  大胆猜测,楼主可能会在一些具体有价值的操作中做备份。

  很容易想到用PHP直接解析HTML代码,然后用常规的GD生成图片。遗憾的是,PHP 无法解析 HTML 代码,或者没有相对完善的解析 HTML 扩展。看来问题的症结在于解析 HTML 代码。

  个人可以考虑这个思路:先标记具体需要截图的DIV-ID块,用PHP想办法获取这个块的代码。方法很多;然后根据CSS规则一一解析这个block中的代码,既然是自己用的,只能支持对绘图有用的CSS样式,然后在地图上用GD画出来,一切就这么简单可能的。

  当然,有一种本土方法可能是最有效的。它只是一个用户面板页面。可以手动把这个页面截图,然后用绘图工具把可变部分去掉,保存为图片作为基板,供GD日后生成图片。然后稍微改变你的程序。生成用户面板时,可以传入一些信息,也就是变量部分,写入到GD画面中。写入时,只需要指定要写入信息的像素位置即可。此方法完全绕过 HTML 解析,可能是一种更快的方法。缺点是没有可重用性。

  PHP普通码农,欢迎拍砖。

  而 (1) {

  printf('你好,世界!');

  }

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线