如何使用 R 截取网站?
How can I screenshot a website using R?
所以我不是 100% 确定这是可能的,但我发现 a good solution in Ruby and in python,所以我想知道类似的东西是否可以在 R 中工作。
基本上,给定一个URL,我想渲染那个URL,将渲染的屏幕截图作为.png,并将屏幕截图保存到指定的文件夹。我想在无头 linux 服务器上完成所有这些工作。
我最好的解决方案是 运行 system
调用像 CutyCapt 这样的工具,还是有一个基于 R 的工具集可以帮助我解决这个问题?
您可以使用 Selenium 截取屏幕截图:
library(RSelenium)
rD <- rsDriver(browser = "phantomjs")
remDr <- rD[['client']]
remDr$navigate("http://www.r-project.org")
remDr$screenshot(file = tf <- tempfile(fileext = ".png"))
shell.exec(tf) # on windows
remDr$close()
rD$server$stop()
在早期版本中,您可以执行以下操作:
library(RSelenium)
startServer()
remDr <- remoteDriver$new()
remDr$open()
remDr$navigate("http://www.r-project.org")
remDr$screenshot(file = tf <- tempfile(fileext = ".png"))
shell.exec(tf) # on windows
我还没有测试过,但是这个开源项目似乎就是这样做的:https://github.com/wch/webshot
这很简单:
library(webshot)
webshot("https://www.r-project.org/", "r.png")
所以我不是 100% 确定这是可能的,但我发现 a good solution in Ruby and in python,所以我想知道类似的东西是否可以在 R 中工作。
基本上,给定一个URL,我想渲染那个URL,将渲染的屏幕截图作为.png,并将屏幕截图保存到指定的文件夹。我想在无头 linux 服务器上完成所有这些工作。
我最好的解决方案是 运行 system
调用像 CutyCapt 这样的工具,还是有一个基于 R 的工具集可以帮助我解决这个问题?
您可以使用 Selenium 截取屏幕截图:
library(RSelenium)
rD <- rsDriver(browser = "phantomjs")
remDr <- rD[['client']]
remDr$navigate("http://www.r-project.org")
remDr$screenshot(file = tf <- tempfile(fileext = ".png"))
shell.exec(tf) # on windows
remDr$close()
rD$server$stop()
在早期版本中,您可以执行以下操作:
library(RSelenium)
startServer()
remDr <- remoteDriver$new()
remDr$open()
remDr$navigate("http://www.r-project.org")
remDr$screenshot(file = tf <- tempfile(fileext = ".png"))
shell.exec(tf) # on windows
我还没有测试过,但是这个开源项目似乎就是这样做的:https://github.com/wch/webshot
这很简单:
library(webshot)
webshot("https://www.r-project.org/", "r.png")