如何通过viddl-rb下载视频?
How to download video via viddl-rb?
我想根据我数据库中的链接从 youtube.com
下载视频文件。
我找到了 gem viddl-rb
,但我在文档中看到的只有控制台下载方式 - viddl-rb youtube.com/watch/myvideoid
如何在控制台中使用 require viddl-rb
下载视频?
请注意,从 Youtube 下载视频可能会违反 Youtube 的服务条款;但无论如何,以下代码可能会帮助您做到这一点:
require 'open-uri'
require 'viddl-rb'
YouTubeLinks = %w[
https://www.youtube.com/watch?v=Z8wLQ3NCBgg
https://www.youtube.com/watch?v=QH2-TGUlwu4
]
youtube_hashes = YouTubeLinks.map do |link|
ViddlRb.get_urls_names(link).first
end
youtube_hashes.each do |yt|
puts "Downloading: #{yt[:name]}"
File.open(yt[:name], 'wb') do |video_file|
open(yt[:url]) { |video| video_file.write video.read }
end
end
我想根据我数据库中的链接从 youtube.com
下载视频文件。
我找到了 gem viddl-rb
,但我在文档中看到的只有控制台下载方式 - viddl-rb youtube.com/watch/myvideoid
如何在控制台中使用 require viddl-rb
下载视频?
请注意,从 Youtube 下载视频可能会违反 Youtube 的服务条款;但无论如何,以下代码可能会帮助您做到这一点:
require 'open-uri'
require 'viddl-rb'
YouTubeLinks = %w[
https://www.youtube.com/watch?v=Z8wLQ3NCBgg
https://www.youtube.com/watch?v=QH2-TGUlwu4
]
youtube_hashes = YouTubeLinks.map do |link|
ViddlRb.get_urls_names(link).first
end
youtube_hashes.each do |yt|
puts "Downloading: #{yt[:name]}"
File.open(yt[:name], 'wb') do |video_file|
open(yt[:url]) { |video| video_file.write video.read }
end
end