結果は、これらのビデオのほとんどがダウンロードした別のスクリプトです。
すべてのビデオを見る1つのオプションは、サイトからXLSファイルを開いて、上から下にリンクをクリックすることですが、これは非常に不便です。 10〜20のリンクをたどると、見たものと見なかったものについて混乱し、すべてをiPhoneにアップロードして、仕事の途中で見たり聞いたりしたいと思います。
長いGoogle Ruby構文の後、ファイルからレポートのアドレスを取得してパパにダウンロードする小さなスクリプトが作成されました。 便利なこと、誰かが役に立つかもしれません。
require 'rubygems' require 'nokogiri' require 'open-uri' require 'HTTParty' urls = IO.readlines("data.txt").map {|line| line.chomp} if !File.exists?("videos") Dir.mkdir("videos") end urls.each_with_index do |url, count| begin doc = Nokogiri.parse(open(url).read) node = doc.xpath("//dt/a[text()='Download video to desktop (MP4)']") video = "http://www.ted.com" + node.attribute("href").to_s videoName = "videos/(#{count+1})" + url.match(/http:\/\/www.ted.com\/talks\/(.*)\.html/i)[1] + ".mp4" puts "Downloading #{url} to #{videoName}" File.open( videoName, "w+") do |f| f << HTTParty.get( video ) end rescue puts "Failed to download #{url}" end end
したがって、宝石を配置する必要があります:nokogiriiとhttparty。
スクリプトとデータファイルはGitHubでスローされました 。
このサイトには一部のビデオのダウンロードリンクがありません。 彼らはそこで、またはYouTubeで見なければなりません。
ダウンロードしたすべての動画を急流のどこかに置くことは可能ですが
Rubyの第一人者からのコメントをお待ちしております。
PSはすべてを順番に見に行きました。
更新 :インストールを簡素化するためにGemfileを追加しました
Update2 :Rubyレッスンのために離された感謝
Update3 :ビデオフォルダーの作成を追加します(作成されていない場合)