如何使用R截取网站?

时间:2015-04-02 17:20:15

标签: r rcurl httr

所以我并非100%确定这是可能的,但我找到了a good solution in Rubypython,所以我想知道R中是否有类似的东西可行。

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

我的最佳解决方案是运行system调用CutyCapt这样的工具,还是存在一个基于R的工具集来帮助我解决这个问题?

2 个答案:

答案 0 :(得分:20)

您可以使用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

答案 1 :(得分:6)

我还没有对它进行测试,但是这个开源项目似乎正是这样做的:https://github.com/wch/webshot

这很简单:

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