Невозможно преобразовать несколько URL в изображение png с помощью пакета Webshot () в R - PullRequest
0 голосов
/ 14 октября 2018

Я очень новичок в программировании на R, но я изучил все доступные детали, связанные с пакетом Webshot ().Приведенный ниже код работает, когда я работаю для одного URL.

library(webshot)
webshot::webshot(url = "C:/Users/bazinga/Documents/test/abc.html",
                 file = "C:/Users/bazinga/Documents/test/abc.png", 
                 vwidth = 1000, vheight = 1000)

Я пытаюсь сделать снимок экрана с несколькими URL-адресами и сохранить его как png в папке.(Ссылка: https://github.com/wch/webshot/blob/9a53e9e02e3936ccb32a3b767cfae6724a04026d/R/webshot.R#L63)

savepath <-"C:/Users/bazinga/Documents/test/"      #Test Path
f <- list.files(path = savepath , pattern = ".html", recursive = TRUE)
f
# [1] "abc.html"  "def.html"     "ghi.html"    "jkl.html"    "mno.html"
x <- data.frame("SN" = 1:length(f), "ImageName" = tools::file_path_sans_ext(f) 
                ,"File" = c(f), "CreateDate" = c(file.info(glue("{savepath}{f}"))$ctime)
                , "InPath" = glue("{savepath}{f}")
                , "OutPath" = glue("{savepath}{tools::file_path_sans_ext(f)}.png")
)
x
# SN ImageName     File               CreateDate                                   InPath                                 OutPath
# 1       abc abc.html       2018-10-12 11:07:11 C:/Users/bazinga/Documents/test/abc.html C:/Users/bazinga/Documents/test/abc.png
# 2       def def.html       2018-10-12 11:07:11 C:/Users/bazinga/Documents/test/def.html C:/Users/bazinga/Documents/test/def.png
# 3       ghi ghi.html       2018-10-12 11:07:11 C:/Users/bazinga/Documents/test/ghi.html C:/Users/bazinga/Documents/test/ghi.png
# 4       jkl jkl.html       2018-10-12 11:07:11 C:/Users/bazinga/Documents/test/jkl.html C:/Users/bazinga/Documents/test/jkl.png
# 5       mno mno.html       2018-10-12 11:07:11 C:/Users/bazinga/Documents/test/mno.html C:/Users/bazinga/Documents/test/mno.png

После сохранения деталей во фрейме данных и запуска кода webshot (), как показано ниже

library(webshot)
webshot::webshot(url = c(x["InPath"]),
                 file = c(x["OutPath"]), 
                 vwidth = 1000, vheight = 1000)

Ошибка в path.expand (path): неверный аргумент 'path'

Затем я попытался добавить "" к значениям в столбцах Inpath и Outpath фрейма данных

savepath <-"C:/Users/bazinga/Documents/test/"      #Test Path
    f <- list.files(path = savepath , pattern = ".html", recursive = TRUE)
    f
    # [1] "abc.html"  "def.html"     "ghi.html"    "jkl.html"    "mno.html"
    x <- data.frame("SN" = 1:length(f), "ImageName" = tools::file_path_sans_ext(f) 
                    ,"File" = c(f), "CreateDate" = c(file.info(glue("{savepath}{f}"))$ctime)
            , "InPath" = glue("\"{savepath}{f}\"")
            , "OutPath" = glue("\"{savepath}{tools::file_path_sans_ext(f)}.png\""){tools::file_path_sans_ext(f)}.png")
    )
    x
    # SN ImageName     File               CreateDate                                   InPath                                 OutPath
    # 1       abc abc.html       2018-10-12 11:07:11 "C:/Users/bazinga/Documents/test/abc.html" "C:/Users/bazinga/Documents/test/abc.png"
    # 2       def def.html       2018-10-12 11:07:11 "C:/Users/bazinga/Documents/test/def.html" "C:/Users/bazinga/Documents/test/def.png"
    # 3       ghi ghi.html       2018-10-12 11:07:11 "C:/Users/bazinga/Documents/test/ghi.html" "C:/Users/bazinga/Documents/test/ghi.png"
    # 4       jkl jkl.html       2018-10-12 11:07:11 "C:/Users/bazinga/Documents/test/jkl.html" "C:/Users/bazinga/Documents/test/jkl.png"
    # 5       mno mno.html       2018-10-12 11:07:11 "C:/Users/bazinga/Documents/test/mno.html" "C:/Users/bazinga/Documents/test/mno.png"

library(webshot)
webshot::webshot(url = c(x["InPath"]),
                 file = c(x["OutPath"]), 
                 vwidth = 1000, vheight = 1000)

Ошибка в vapply (url, fix_one, символ (1), USE.NAMES = FALSE): значения должны быть длиной 1, но FUN (X [[1]]) длина результата 5

Я знаю, что могу вызывать webshot () несколько раз и получить результаты, но, пожалуйста, дайте мне знать, если то, что я пытаюсь сделать, дажевозможно с webshot () или нет, и если у вас есть какие-либо предложения или укажете мне правильный подход, чтобы решить это, вызывая только одну команду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...