1234567891011121314151617181920212223242526272829 |
- require 'net/http'
- require 'nokogiri'
-
- class Fetcher
- BASE_URL = 'http://board.vivalavinyl.com'
-
- def initialize(cookie:)
- @cookie = cookie
- end
-
- def page(page_number)
- authenticated_request("/thread/list/#{page_number}")
- end
-
- def thread(thread)
- authenticated_request("/thread/view/#{thread[:remote_id]}&ajax=true")
- end
-
- private
-
- def authenticated_request(path)
- uri = URI("#{BASE_URL}#{path}")
- http = Net::HTTP.new(uri.host, uri.port)
- request = Net::HTTP::Get.new(uri)
- request['cookie'] = @cookie
- response = http.request(request)
- Nokogiri.HTML(response.body)
- end
- end
|