рдкрддрд╛ рдирд╣реАрдВ рдХреНрдпрд╛ рджреЗрдЦрдирд╛ рд╣реИ? TED рд╕реЗ рдмреЗрд╣рддрд░реАрди рд╡реАрдбрд┐рдпреЛ рджреЗрдЦреЗрдВ

рдореИрдВ рдПрдХ рдмрд╣реБрдд рд╣реА рджрд┐рд▓рдЪрд╕реНрдк рдкреЛрд╕реНрдЯ рдкрд░ рдЖрдпрд╛ рдерд╛, рдЬрд╣рд╛рдВ рдПрдХ рдЫреЛрдЯреА рд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЗ рд╕рд╛рде, рд▓реЛрдЧреЛрдВ рдиреЗ рд╕рдмрд╕реЗ рдКрдкрд░ TED рдХреЗ рд╕рд╛рде рд░рд┐рдкреЛрд░реНрдЯреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХреА рдереАред рдФрд░ рдЬрдм рд╕реЗ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдбрдВрдк рдФрд░ рдХрдо рд╣реЛ рд░рд╣реА рд╣реИ, рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдЦрд╛рд▓реА рд╕рдордп рдХреБрдЫ рдФрд░ рдЙрдкрдпреЛрдЧреА рдХреЗ рд╕рд╛рде рднрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред рджрд░рдЕрд╕рд▓, рд╕рдордп-рд╕рдордп рдкрд░ TED рдореЗрдВ рд╡реЗ рджрд┐рд▓рдЪрд╕реНрдк рдФрд░ рдЙрдкрдпреЛрдЧреА рдЪреАрдЬреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░рддреЗ рд╣реИрдВред

рдирддреАрдЬрд╛ рдПрдХ рдФрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╣реИ рдЬреЛ рдЗрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХрд╛рдВрд╢ рд╡реАрдбрд┐рдпреЛ рдиреЗ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ рд╣реИред

рд╕рднреА рд╡реАрдбрд┐рдпреЛ рджреЗрдЦрдиреЗ рдХрд╛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдпрд╣ рд╣реЛрдЧрд╛ рдХрд┐ рд╕рд╛рдЗрдЯ рд╕реЗ XLS рдлрд╝рд╛рдЗрд▓ рдХреЛ рдЦреЛрд▓реЗрдВ рдФрд░ рдКрдкрд░ рд╕реЗ рдиреАрдЪреЗ рддрдХ рдХреЗ рд▓рд┐рдВрдХ рдкрд░ рдХреНрд▓рд┐рдХ рдХрд░реЗрдВ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрддреНрдпрдВрдд рдЕрд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИред 10-20 рд▓рд┐рдВрдХ рдХреЗ рдмрд╛рдж, рдореИрдВ рдЙрд▓рдЭрди рдореЗрдВ рдерд╛ рдХрд┐ рдореИрдВрдиреЗ рдХреНрдпрд╛ рджреЗрдЦрд╛ рдФрд░ рдХреНрдпрд╛ рдирд╣реАрдВ, рдФрд░ рдореИрдВ iPhone рдореЗрдВ рд╕рдм рдХреБрдЫ рдЕрдкрд▓реЛрдб рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВ рдФрд░ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдХреЛ рджреЗрдЦрддрд╛ / рд╕реБрдирддрд╛ рд╣реВрдВред

рд▓рдВрдмреЗ рдЧреВрдЧрд▓ рд░реВрдмреА рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреЗ рдмрд╛рдж, рдПрдХ рдЫреЛрдЯреА рд╕реА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓рд┐рдЦреА рдЧрдИ рдереА рдЬрд┐рд╕рдиреЗ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд░рд┐рдкреЛрд░реНрдЯ рдХреЗ рдкрддреЗ рд▓реЗ рд▓рд┐рдП рдФрд░ рдЙрдиреНрд╣реЗрдВ рдПрдХ рдбреИрдбреА рдореЗрдВ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛ред рдПрдХ рдЙрдкрдпреЛрдЧреА рдмрд╛рдд, рд╢рд╛рдпрдж рдХрд┐рд╕реА рдХреЗ рдХрд╛рдо рдЖрдПрдЧреАред

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 

рддрджрдиреБрд╕рд╛рд░, рдЖрдкрдХреЛ рд░рддреНрдиреЛрдВ рдХреЛ рд▓рдЧрд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ: рдиреЛрдЧреЛрдЧрд┐рд░рд┐ рдФрд░ рдирдЯрдкрд╛рд░реНрдЯреАред
GitHub рдкрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдФрд░ рдбреЗрдЯрд╛ рдлрд╝рд╛рдЗрд▓ рдбрд╛рд▓реА рдЧрдИ рдереА ред

рд╕рд╛рдЗрдЯ рдкрд░ рдХреБрдЫ рд╡реАрдбрд┐рдпреЛ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдбрд╛рдЙрдирд▓реЛрдб рд▓рд┐рдВрдХ рдирд╣реАрдВ рд╣реИрдВред рдЙрдиреНрд╣реЗрдВ рд╡рд╣рд╛рдВ рдпрд╛ youtube рдкрд░ рджреЗрдЦрдирд╛ рд╣реЛрдЧрд╛ред
рд╕рднреА рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рд╡реАрдбрд┐рдпреЛ рдХреЛ рдЯреЙрд░реЗрдВрдЯреНрд╕ рдореЗрдВ рд░рдЦрдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рд▓реЗрдХрд┐рди рдпрд╣ рдЗрддрдирд╛ рджрд┐рд▓рдЪрд╕реНрдк рдирд╣реАрдВ рд╣реИ рдХрд┐ рд╕реНрд░реЛрдд рд╕реЗ рдЦреБрдж рдХреЛ рдХреИрд╕реЗ рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ рдЬрд╛рдП ред
рдореИрдВ рд░реВрдмреА рдЧреБрд░реБ рдХреА рдЯрд┐рдкреНрдкрдгрд┐рдпреЛрдВ рдХреЛ рд╕реБрдирдХрд░ рдкреНрд░рд╕рдиреНрди рд╣реВрдВред

рдкреАрдПрд╕ рдХреНрд░рдо рдореЗрдВ рд╕рдм рдХреБрдЫ рджреЗрдЦрдиреЗ рдЧрдПред

рдЕрджреНрдпрддрди : рд╕реНрдерд╛рдкрдирд╛ рдХреЛ рдЖрд╕рд╛рди рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП Gemfile рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛
Update2 : рдзрдиреНрдпрд╡рд╛рдж рд░реВрдмреА рд╕рдмрдХ рдХреЗ рд▓рд┐рдП detunized
Update3 : рд╡реАрдбрд┐рдпреЛ рдлрд╝реЛрд▓реНрдбрд░ рдХреЗ рдирд┐рд░реНрдорд╛рдг рдХреЛ рдЬреЛрдбрд╝рд╛, рдЕрдЧрд░ рдпрд╣ рдирд╣реАрдВ рд╣реИ

Source: https://habr.com/ru/post/In115405/


All Articles