Class: Janis::Parsing::SpecificParsers::ProxyListOrgParser

Inherits:
ProxyWebsiteParser show all
Includes:
CapybaraWithPhantomJs
Defined in:
lib/janis/specific_parsers/proxy-list_org.rb

Instance Attribute Summary

Attributes inherited from ProxyWebsiteParser

#url

Class Method Summary collapse

Instance Method Summary collapse

Methods included from CapybaraWithPhantomJs

#new_session

Methods inherited from ProxyWebsiteParser

inherited, subclasses

Constructor Details

#initializeProxyListOrgParser

Returns a new instance of ProxyListOrgParser.



19
20
21
22
23
24
25
# File 'lib/janis/specific_parsers/proxy-list_org.rb', line 19

def initialize
  super
  configure_capybara
  @session = new_session 
  @session.visit(url)
  obtain_html_doc
end

Class Method Details

.urlObject



15
16
17
# File 'lib/janis/specific_parsers/proxy-list_org.rb', line 15

def self.url
  'http://proxy-list.org'
end

Instance Method Details

#configure_capybaraObject



27
28
29
# File 'lib/janis/specific_parsers/proxy-list_org.rb', line 27

def configure_capybara
  Capybara.configure { |c| c.app_host = url }
end

#parseObject



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# File 'lib/janis/specific_parsers/proxy-list_org.rb', line 31

def parse
  total_rows = []
  total_rows += rows
  [2,3,4,5,6,7,8,9,10].each do |page_number|
    @session.click_link(page_number.to_s)
    obtain_html_doc
    total_rows += rows
  end
  total_rows

  #TODO: This map is here to adapt #parse output to the one expected by Janis.find. Remove this when it starts accepting
  #more info about each proxy server.
  total_rows.map do |row|
    row.proxy
  end
end