epergo
3/14/2016 - 2:52 PM

Download all Octocats (https://octodex.github.com/) to local folder

Download all Octocats (https://octodex.github.com/) to local folder

#!/usr/bin/env ruby

require 'nokogiri'
require 'open-uri'
require 'etc'

# home user path
home_path = Etc.getpwnam(Etc.getlogin).dir
wallpaper_folder = "#{home_path}/Pictures/wallpapers"

if Dir[wallpaper_folder].empty?
  Dir.mkdir(wallpaper_folder)
  puts "created folder on #{wallpaper_folder}"
end

page = Nokogiri::HTML(open('https://octodex.github.com/'))
page.css('div.item.list a.preview-image img').each do |image|
  image_url = "https://octodex.github.com#{image.attributes['data-src'].to_s}"
  open(image_url) {|f|
     File.open("#{wallpaper_folder}/#{image.attributes['alt'].to_s}.png", "wb") do |file|
       file.puts f.read
     end
  }
end