Inicio de semestre e dei por mim a olhar de novo para as aulas em vídeo do MIT [post do Miguel Pais].

Para visionar essas aulas posteriormente, decidi fazer o download das mesmas. Como os links das aulas necessitam de uma pequena mudança para que possa ser feito o download, decidi juntar o útil ao agradável e aprender um pouco mais sobre o Mechanize, para tornar a tarefa bem mais agradável.

Apesar do Mechanize existir em diversas plataformas de programação, decidi usar o Ruby. Porquê? Porque é a linguagem que tenho usado mais nos meus tempos livres, e estou farto do C da faculdade. Para ser sincero nem pus a hipótese de usar C, logo nem sei se existe Mechanize para C. :P

Deliciem-se com a simplicidade :)

require ‘rubygems’
require ‘mechanize’

# Edit (at least if you wan’t to download something else)
uri = ‘http://ocw.mit.edu/OcwWeb/Physics/8-03Fall-2004/VideoLectures/index.htm’
link_text = ‘220K’

# Do not edit above this line

agent = WWW::Mechanize.new
page = agent.get uri

page.links.text(link_text).each do |link|
puts link.href.gsub(’http://mfile.akamai.com/7870/rm/mitstorage.download.akamai.com/7870′,’http://ocw.mit.edu/ans7870′)
end

O script que tenho vindo a usar é ligeiramente diferente, pois grava os links num ficheiro html.

Abraços,

Pedro Diogo