You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

fetcher.rb 618B

1234567891011121314151617181920212223242526272829
  1. require 'net/http'
  2. require 'nokogiri'
  3. class Fetcher
  4. BASE_URL = 'http://board.vivalavinyl.com'
  5. def initialize(cookie:)
  6. @cookie = cookie
  7. end
  8. def page(page_number)
  9. authenticated_request("/thread/list/#{page_number}")
  10. end
  11. def thread(thread)
  12. authenticated_request("/thread/view/#{thread[:remote_id]}&ajax=true")
  13. end
  14. private
  15. def authenticated_request(path)
  16. uri = URI("#{BASE_URL}#{path}")
  17. http = Net::HTTP.new(uri.host, uri.port)
  18. request = Net::HTTP::Get.new(uri)
  19. request['cookie'] = @cookie
  20. response = http.request(request)
  21. Nokogiri.HTML(response.body)
  22. end
  23. end