使用tuber包创建包含YouTube视频详细信息的数据框

时间:2018-06-19 21:01:24

标签: r youtube-data-api

我正在尝试使用tuber R包来获取一组特定视频的数据。我可以获取单个视频的视频详细信息,但希望通过视频ID对整个数据集执行此操作。以下是我正在处理的一些视频:

library(tidyverse)

myvideos <- tibble(
  timestamp = c("2018-03-23 07:11:25",
                "2018-03-22 07:35:27",
                "2018-03-21 07:22:27",
                "2018-03-20 07:26:33",
                "2018-03-16 10:21:35"),
  video_id = c("nd_EYo96lmo",
               "LCnbyCp74vg",
               "SRkXjtMqN0o",
               "XfyEpmQM7bw",
               "5r6A2NexF88")
)

当我尝试将get_video_details函数简单地应用于video_id列时,即使程序包手册上说它可以与列表一起使用,也会出现错误:

library(tuber)

vid_details <- get_video_details(video_id = myvideos$video_id, part = 
"snippet")

Error in vapply(elements, encode, character(1)) : 
 values must be length 1,
 but FUN(X[[2]]) result is length 5

在上述功能中,将视频ID添加为逗号分隔列表时,出现相同的错误。我尝试了以下操作,并且更接近所需的内容,但是所需的数据(标题和频道标题)被嵌入到列表中:

videos <- sapply(myvideos$video_id, function(video_id) {
  videos <- data.frame(get_video_details(video_id = video_id, part = 
  "snippet"))
})

任何人都知道如何使块茎遍历数据帧中的ID列表,并将从函数中获得的详细信息附加到数据帧中吗?调整我的代码还是使用所有新代码来完成我需要的工作?

0 个答案:

没有答案