2015-04-02 10 views
9

Bu yüzden bu mümkündür% 100 emin değilim, ama ben a good solution in Ruby ve python bulundu, bu yüzden benzer bir şey Temelde Bir web sitesini R kullanarak nasıl görüntüleyebilirim?

R.

çalışmak mı diye URL verilen merak, o URL'yi işlemek istiyorum , görüntülemenin bir ekran görüntüsünü .png olarak alın ve ekran görüntüsünü belirtilen bir klasöre kaydedin. Tüm bunları başsız bir linux sunucusunda yapmak isterim.

CutyCapt gibi bir araca system çağrıları gönderilecek mi, yoksa bu sorunu çözmeme yardımcı olacak bir R tabanlı araç seti var mı?

cevap

18

Sen selenyum kullanarak ekran görüntüsü alabilir: Önceki versiyonlarda

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() 

yapmanız başardık: Ben test etmedim

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 
+0

Vay, tam olarak aradığım şeyi. Teşekkür ederim! – Zach

+1

Linux – jsta

+1

'daki ekran görüntüsünü görüntülemek için 'browseURL (tf)' yi kullanabilirsiniz. 'StartServer()' işlevi 1.7.1 sürümünde geçersizdir. " , bir selenyum sunucusunu çalıştırmak için önerilen yolun Docker ile olduğunu söylüyorlar. Alternatif olarak , RSelenium :: rsDriver işlevine bakınız." – drmariod

2

, ancak bu açık kaynak projesi https://github.com/wch/webshot

Bu tam olarak böyle görünüyor:

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

Bunu denedim ve kimlik doğrulaması yapamayan curl ile hata yaptım – jrzelling