class ProxyFetcher::Providers::Proxypedia

FreeProxyList provider class.

Public Instance Methods

provider_url() click to toggle source

Provider URL to fetch proxy list

# File lib/proxy_fetcher/providers/proxypedia.rb, line 8
def provider_url
  "https://proxypedia.org"
end
to_proxy(html_node) click to toggle source

Converts HTML node (entry of N tags) to ProxyFetcher::Proxy object.]

@param html_node [Object]

HTML node from the <code>ProxyFetcher::Document</code> DOM model.

@return [ProxyFetcher::Proxy]

Proxy object
# File lib/proxy_fetcher/providers/proxypedia.rb, line 26
def to_proxy(html_node)
  addr, port = html_node.content_at("a").to_s.split(":")

  ProxyFetcher::Proxy.new.tap do |proxy|
    proxy.addr = addr
    proxy.port = Integer(port)
    proxy.country = parse_country(html_node)
    proxy.anonymity = "Unknown"
    proxy.type = ProxyFetcher::Proxy::HTTP
  end
end
xpath() click to toggle source
NOTE

Doesn't support filtering

# File lib/proxy_fetcher/providers/proxypedia.rb, line 13
def xpath
  "//main/ul/li[position()>1]"
end

Private Instance Methods

parse_country(html_node) click to toggle source
# File lib/proxy_fetcher/providers/proxypedia.rb, line 40
def parse_country(html_node)
  text = html_node.content.to_s
  text[/\((.+?)\)/, 1] || "Unknown"
end