Class: ProxyFetcher::Providers::ProxyList

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

Overview

ProxyList 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



10
11
12
# File 'lib/proxy_fetcher/providers/proxy_list.rb', line 10

def provider_url
  "https://proxy-list.org/english/index.php"
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:



27
28
29
30
31
32
33
34
35
36
37
# File 'lib/proxy_fetcher/providers/proxy_list.rb', line 27

def to_proxy(html_node)
  ProxyFetcher::Proxy.new.tap do |proxy|
    uri = parse_proxy_uri(html_node)
    proxy.addr = uri.host
    proxy.port = uri.port

    proxy.type = html_node.content_at("li[2]")
    proxy.anonymity = html_node.content_at("li[4]")
    proxy.country = html_node.find("li[5]//span[@class='country']").attr("title")
  end
end

#xpathObject



14
15
16
# File 'lib/proxy_fetcher/providers/proxy_list.rb', line 14

def xpath
  '//div[@class="table-wrap"]/div[@class="table"]/ul'
end