批量下载railscasts上视频的ruby脚本

本文介绍了一个使用Ruby编写的简单脚本,该脚本能够从RailsCasts网站下载所有视频教程。通过解析RSS源获取视频链接并进行批量下载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Railscasts 上面的视频已经出到117集了,很早就想把它们下载下来,但是一直苦于网速太慢。现在网络有了点儿改进,趁机写个ruby脚本把所有视频全部搞定。基本想法就是解析它的RSS,找到视频的地址,然后下载,简单得很。

 

require 'net/http'
require 'rss/2.0'

content = ''
open('http://feeds.feedburner.com/railscasts') { |s| content = s.read }
rss = RSS::Parser.parse(content, false)

casts = rss.channel.items.map { |item| item.enclosure.url.sub(/http:\/\/media\.railscasts\.com/, '') }

Net::HTTP.start('media.railscasts.com') do |http|
  casts.each do |cast|
    puts "start downloading #{cast}"
    response = http.get(cast)
    File.open("d:/video/railscasts/#{cast.sub(/\/videos\//, '')}", 'wb') { |file| file.write(response.body) }
    puts "finish downloading #{cast}"
  end
end

 当然了,我这个只是简单的把所有视频都下载下来,因为我之前也没有单独下载过。如果以后想只下载新发布的视频,只要稍微修改一下脚本,控制一下cast的个数就好了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值