Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'rubygems'
- require 'mechanize'
- require 'open-uri'
- class Kwejk
- def initialize
- @agent = Mechanize.new
- @page = @agent.get('http://kwejk.pl')
- end
- def perform
- start_worker
- end
- def get_next_page
- @page = @agent.get(next_page)
- end
- def get_current_page_links
- Dir.mkdir("./#{current_page_number}") unless Dir.exist?("./#{current_page_number}")
- @page.search('figure.figure').each do |x|
- link_to_kwejk = x.search('a').first&.values
- img_of_kwejk = x.search('img').first&.attributes&.fetch('src')&.value
- if img_of_kwejk != nil
- download = open(img_of_kwejk)
- IO.copy_stream(download, "./#{current_page_number}/#{download.base_uri.to_s.split('/')[-1]}")
- sleep(1)
- end
- end
- end
- def start_worker
- while(current_page_number > 1)
- get_current_page_links
- get_next_page
- end
- end
- def is_a_last_page?
- current_page_number == 1
- end
- def current_page
- @current_page = @page.search('li.current > a').first.attributes&.fetch('href')&.value
- end
- def next_page
- @next_page = @page.search('li.current + li > a').first.attributes&.fetch('href')&.value
- end
- def current_page_number
- @current_page_number = @page.search('li.current > a').first.text.to_i
- end
- def next_page_number
- @next_page_number = @page.search('li.current + li > a').first.text.to_i
- end
- end
- kwejk = Kwejk.new
- kwejk.perform
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement