如何使用R截图截图一个网站?

如何使用R截图截图一个网站?,r,rcurl,httr,R,Rcurl,Httr,所以我不是100%确定这是可能的,但我发现了,所以我想知道类似的东西是否可以在R中工作 基本上,给定一个URL,我希望呈现该URL,将呈现的屏幕截图作为.png,然后将屏幕截图保存到指定的文件夹中。我想在无头linux服务器上完成所有这些 我这里的最佳解决方案是运行系统调用类似的工具,还是存在基于R的工具集可以帮助我解决此问题?您可以使用Selenium拍摄屏幕截图: library(RSelenium) rD <- rsDriver(browser = "phantomjs") remD

所以我不是100%确定这是可能的,但我发现了,所以我想知道类似的东西是否可以在R中工作

基本上,给定一个URL,我希望呈现该URL,将呈现的屏幕截图作为.png,然后将屏幕截图保存到指定的文件夹中。我想在无头linux服务器上完成所有这些


我这里的最佳解决方案是运行
系统
调用类似的工具,还是存在基于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()
库(RSelenium)

rD我还没有测试过它,但这个开源项目似乎正是这样做的:

这是一个简单的过程,例如:

library(webshot)
webshot("https://www.r-project.org/", "r.png")

您可以使用
browseURL(tf)
查看Linux上的屏幕截图功能
startServer()
在1.7.1版中已失效。他们说“运行selenium服务器的推荐方法是通过Docker。或者,请参阅RSelenium::rsDriver函数。”我尝试了这个方法,并在curl无法验证时出错。selenium似乎已失效。
library(webshot)
webshot("https://www.r-project.org/", "r.png")