class ScraperAPI::Client
Public Class Methods
new(api_key)
click to toggle source
# File lib/scraper_api.rb, line 7 def initialize(api_key) @api_key = api_key end
Public Instance Methods
account()
click to toggle source
# File lib/scraper_api.rb, line 103 def account() uri = URI.parse("https://api.scraperapi.com/account") uri.query = URI.decode(URI.encode_www_form({:api_key => @api_key})) return Unirest.get(uri.to_s).body end
get(url, headers: {}, country_code: nil, device_type: nil, premium: false, render: false, session_number: nil, autoparse: false, retry_n: 3, timeout: 60)
click to toggle source
headers={},
country_code=None, device_type=None, premium=None, render=None, session_number=None, autoparse=None, retry=3, timeout=60
# File lib/scraper_api.rb, line 22 def get(url, headers: {}, country_code: nil, device_type: nil, premium: false, render: false, session_number: nil, autoparse: false, retry_n: 3, timeout: 60) makeRequestWithMethod(url, @api_key, "GET", headers: headers, country_code: country_code, device_type: device_type, premium: premium, render: render, session_number: session_number, autoparse: autoparse, retry_n: retry_n, timeout: timeout) end
post(url, headers: {}, country_code: nil, device_type: nil, premium: false, render: false, session_number: nil, autoparse: false, retry_n: 3, timeout: 60, body: nil)
click to toggle source
# File lib/scraper_api.rb, line 49 def post(url, headers: {}, country_code: nil, device_type: nil, premium: false, render: false, session_number: nil, autoparse: false, retry_n: 3, timeout: 60, body: nil) makeRequestWithMethod(url, @api_key, "POST", headers: headers, country_code: country_code, device_type: device_type, premium: premium, render: render, session_number: session_number, autoparse: autoparse, retry_n: retry_n, timeout: timeout, body: body) end
put(url, headers: {}, country_code: nil, device_type: nil, premium: false, render: false, session_number: nil, autoparse: false, retry_n: 3, timeout: 60, body: nil)
click to toggle source
# File lib/scraper_api.rb, line 76 def put(url, headers: {}, country_code: nil, device_type: nil, premium: false, render: false, session_number: nil, autoparse: false, retry_n: 3, timeout: 60, body: nil) makeRequestWithMethod(url, @api_key, "PUT", headers: headers, country_code: country_code, device_type: device_type, premium: premium, render: render, session_number: session_number, autoparse: autoparse, retry_n: retry_n, timeout: timeout, body: body) end
Private Instance Methods
makeRequestWithMethod(url, api_key, method, headers: {}, country_code: nil, device_type: nil, premium: false, render: false, session_number: nil, autoparse: false, retry_n: 3, timeout: 60, body: nil)
click to toggle source
# File lib/scraper_api.rb, line 111 def makeRequestWithMethod(url, api_key, method, headers: {}, country_code: nil, device_type: nil, premium: false, render: false, session_number: nil, autoparse: false, retry_n: 3, timeout: 60, body: nil) params = { :api_key => api_key, :country_code => country_code, :device_type => device_type, :premium => premium, :render => render, :session_number => session_number, :autoparse => autoparse, :keep_headers => !headers.empty?, :url => url, :scraper_sdk => "ruby" } begin retries ||= 0 Unirest.timeout(timeout) scraperapi_basepath = "https://api.scraperapi.com/" uri = URI.parse(scraperapi_basepath) uri.query = URI.decode(URI.encode_www_form(params.compact!)) if method == "GET" return Unirest.get(uri.to_s, headers:headers) end if method == "POST" return Unirest.post(uri.to_s, headers:headers, parameters: body) end if method == "PUT" return Unirest.put(uri.to_s, headers:headers, parameters: body) end rescue retry if (retries += 1) <= retry_n end end