Class: ProxyFetcher::Providers::FreeProxyList

Inherits:
Base
  • Object
show all
Defined in:
lib/proxy_fetcher/providers/free_proxy_list.rb

Overview

FreeProxyList provider class.

Instance Method Summary collapse

Methods inherited from Base

#fetch_proxies, fetch_proxies!, #provider_headers, #provider_method, #provider_params

Instance Method Details

#provider_urlObject

Provider URL to fetch proxy list



8
9
10
# File 'lib/proxy_fetcher/providers/free_proxy_list.rb', line 8

def provider_url
  "https://free-proxy-list.net/"
end

#to_proxy(html_node) ⇒ ProxyFetcher::Proxy

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

Parameters:

  • html_node (Object)

    HTML node from the ProxyFetcher::Document DOM model.

Returns:



26
27
28
29
30
31
32
33
34
# File 'lib/proxy_fetcher/providers/free_proxy_list.rb', line 26

def to_proxy(html_node)
  ProxyFetcher::Proxy.new.tap do |proxy|
    proxy.addr = html_node.content_at("td[1]")
    proxy.port = Integer(html_node.content_at("td[2]").gsub(/^0+/, ""))
    proxy.country = html_node.content_at("td[4]")
    proxy.anonymity = html_node.content_at("td[5]")
    proxy.type = parse_type(html_node)
  end
end

#xpathObject

NOTE

Doesn’t support filtering



13
14
15
# File 'lib/proxy_fetcher/providers/free_proxy_list.rb', line 13

def xpath
  "//table[./thead/tr/th[contains(text(), 'IP')]]/tbody/tr"
end