用于获取在本地主机上运行的网页的屏幕截图的脚本

时间:2018-11-09 06:59:33

标签: php

是否有任何脚本可以每天自动在服务器上运行该网页的屏幕截图并存储捕获的图像?

enter image description here

4 个答案:

答案 0 :(得分:1)

首先让我们定义任务并了解其边界。因为没有简单的解决方案可以解决您的问题。

要捕获网页的屏幕截图,必须首先将其渲染。这是一个非常复杂的过程。您标记了一个PHP,因此不久就不能仅使用PHP来完成它。我建议您简要阅读网页的呈现方式。本文是了解该文章的重要来源:https://www.html5rocks.com/en/tutorials/internals/howbrowserswork/

因此,首先需要“服务”的某种组合,这些组合将呈现页面,然后将其捕获为位图(与哪种图形格式无关)。然后,您可以使用PHP(REST或任何其他合适的方式)来获取它。粗略地说,您需要一些类似于浏览器的系统(或者完全是浏览器本身),它将呈现页面并返回位图。

如果您正在寻找一些简单而又实用的解决方案,那么您有几种解决方案:

  1. 要从任何远程页面获取屏幕截图,可以使用付费API https://thumbnail.ws/。它有一个带有限制的免费选项。

  2. 要获取屏幕截图和其他相关的缩略图数据,可以使用Google的Page Speed API。示例代码可在https://gist.github.com/ajdruff/e6b69e3eb5a3bc1dc081

  3. 中找到
  4. 使用一些适用于Google Chrome或Firefox的扩展程序(您可以使用JavaScript自行创建),然后使用其中的数据。

答案 1 :(得分:1)

有许多用于此目的的软件包,例如Screen

以下是使用方法的示例:

假设您已经安装了它

name  id       time start rate payment new_var
Anna 100 2000-01-01   100    4      15     100
Anna 100 2000-02-01   100    4      20     480
Anna 100 2000-03-01   100    4      25    2375
Jenny 250 2008-01-01   200    5      10     200
Jenny 250 2008-02-01   200    5      20    1180
Jenny 250 2008-03-01   200    5      30    7050
Jenny 250 2008-04-01   200    5      35   42265

答案 2 :(得分:0)

没有这样的脚本会自动为您获取屏幕截图,除非您正在为其开发软件。 您可以做的另一件事是编写python脚本,每天将网页中的数据抓取并存储在文件中,否则您可以使用硒工具来实现此目的。

答案 3 :(得分:0)

为了正确拍摄网页的屏幕截图,您需要首先确保页面正确呈现,最方便的方法是使用真实的浏览器。 正如其他人提到的,有不同的选择:

  1. 您可以使用付费API来做到这一点(浪费钱恕我直言)。

  2. 您可以编写自己的代码来做到这一点(不一定简单,安全)。

  3. 您可以使用现成的工具(主要是命令行工具)

    • cutycapt(cutycapt --url = --out = <文件名>)
    • firefox(firefox-屏幕截图<文件名>
    • wkhtmltoimage(作为wkhtmltopdf工具的一部分)
    • Chrome浏览器(google-chrome --headless --disable-gpu --screenshot
  4. 如果要批量截图(例如,https://github.com/filovirid/screenshot_server),则可以运行自己的服务器