class ProxyList::SiteFreeproxylists

Public Class Methods

new(country_code) click to toggle source

initialize @params [String] country_code

# File lib/proxy_list/site_freeproxylists.rb, line 8
def initialize(country_code)
  @@url.gsub!(/COUNTRY_CODE/,country_code)
end

Public Instance Methods

proxy_lists() click to toggle source

get proxy lists @return [Array] proxy_lists

# File lib/proxy_list/site_freeproxylists.rb, line 15
def proxy_lists
  session = Capybara::Session.new(:poltergeist)
  session.driver.headers = {'User-Agent' => USER_AGENTS.sample}
  session.visit(@@url)
  proxy_lists = []
  session.all(:xpath,"/html/body/div[1]/div[2]/table//tr[not(@class='Caption')]").each do |node|
    if !node.text.nil? && node.has_xpath?('td[3]')
      proxy_lists.push("#{node.find(:xpath,'td[3]').text.downcase}://#{node.find(:xpath,'td[1]').text}:#{node.find(:xpath,'td[2]').text}")
    end
  end
  Capybara.reset_sessions!
  session.driver.quit
  proxy_lists
end