Created
February 11, 2012 09:08
-
-
Save maca/1798070 to your computer and use it in GitHub Desktop.
Script to download all Destroy All Software screencasts, account needed
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#! /usr/bin/env ruby | |
# usage: | |
# $ das_download.rb email password [download_directory] | |
require 'mechanize' | |
# gem 'mechanize-progressbar' | |
email = ARGV[0] or raise('Please provide the email address for your account') | |
password = ARGV[1] or raise('Please provide the password for your account') | |
path = ARGV[2] || './' | |
download = lambda do |url, file| | |
agent = Mechanize.new | |
agent.get 'https://www.destroyallsoftware.com/screencasts/users/sign_in' | |
form = agent.page.forms.first | |
form['user[email]'] = email | |
form['user[password]'] = password | |
form.submit | |
agent.pluggable_parser.default = Mechanize::Download | |
agent.get(url).save(file) | |
end | |
agent = Mechanize.new | |
agent.get 'https://www.destroyallsoftware.com/screencasts/catalog' | |
screencasts = agent.page.search('li.screencast') | |
while screencast = screencasts.pop | |
title = screencast.search('a').first.text | |
url = screencast.search('.download_link > a:first-child').first['href'] | |
index = screencasts.size | |
file = "#{path}/#{"%03d" % (index + 1)}-#{title.gsub(/\.|:|,/, '').gsub(/\/|\s/, '-').downcase}.mov" | |
puts "Downloading #{title} - #{index} to go" | |
next puts 'Already Downloaded' if File.exist? file | |
download[url, file] | |
end |
I wrote a small script to grab all the compendium articles, with their images and css so you can read and review offline: https://gist.github.com/AlessandroMinali/fbb9532d5db1f568481bca1f9c2cb9f5
I've forked https://gist.github.com/jasondew/5583811 and updated it to work with the latest DAS which is free this week: https://gist.github.com/jaredculp/f26f83d214cf926472dddd4269bd2538
On season three and haven't hit any problems. Thanks for this!
Hacked together another fork https://gist.github.com/itsgoingd/4e6f9b663a825143ebd6997806931e73
- based on the most up to date version https://gist.github.com/elochim-siemasz/64edda44c2fcfc28d6b7eed9f78cd62c
- re-added login support from https://gist.github.com/jasondew/5583811
- tweaked for a slight html change on the site (title images no longer have alt text)
Updated @itsgoingd's version in Apr 2021 https://gist.github.com/lukeholder/64f6a3bbc97c050ddfa605fa4d5dff8c
- Added the episode number to the filename and meta data
- Cleaned up the title format (squish!)
- Download as
.mp4
extension - Removed tags ("Watched", "Free") from episode names.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@ianks Thanks a ton for this script! Note that you have to have
wget
on your system for this to work. Mine failed silently and this took a while to debug.