我正致力于检测网站上的污损。我们的想法是抓取整个网站和每个页面,截取屏幕截图或将网站渲染为图像,并将其与上次检查页面进行比较。
我正在寻找一种方法将整个网页(HTML,CSS,JS)转换为图像,如截图,无论语言是什么(但我更喜欢Java,Python或C#)
我需要它在服务器上快速且可用。
我已经在Java中尝试了以下内容:
我认为解决方案将是Web引擎的一种包装,但我没有找到任何相关内容(至少在Java中)。我被告知PhantomJS适合这种需要,是不是?
完美的结果是创造类似的东西:http://www.page2images.com/home
答案 0 :(得分:0)
使用可以通过脚本或命令行选项(如phantomjs)控制的浏览器。该文档包含如何从URL制作屏幕截图的示例。
答案 1 :(得分:0)
您链接的网站提供了一些执行任务的良好休息API:对您来说,这不是一个可行的选择吗?
答案 2 :(得分:0)
Selenium是您最好的选择。根据您的页面内容(即JS库等)可能需要一些时间,但您可以通过脚本自动执行此操作,以便通过cron每晚运行。或使用屏幕。
它具有丰富的断言语言和模拟鼠标事件,以及回归测试和/或监视一组页面状态的方法。
祝你好运。答案 3 :(得分:0)
没有GUI,可能无法做到这样的事情。
如果您对GUI及相关内容不太紧张,可以使用JavaFX Webview并使用以下代码截取节点的屏幕截图
WritableImage image = webView.snapshot(null, null);
BufferedImage bufferedImage = SwingFXUtils.fromFXImage(image, null);
....
参考文献: