Module: Proxtopus::Response::Parser

Defined in:
lib/proxtopus/response_parser.rb

Class Method Summary collapse

Class Method Details

.json(body, elements) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/proxtopus/response_parser.rb', line 6

def json(body, elements)
  ret = ProxySet.new
  els = JSON.parse(body)[elements[:root]] || nil
  els.each do |el|
    host = el[elements[:host]]            || nil
    port = el[elements[:port]]            || nil
    anonymity = el[elements[:anonymity]]  || nil
    protocol = el[elements[:protocol]]    || nil
    country = el[elements[:country]]      || nil
    ret.push(Proxy.new(host, port, protocol, country, anonymity))
  end
  #puts "[ret in ResponseParser->json]"
  #puts ret.inspect
  #puts
  #puts
  #gets
  ret
end

.xml(body, elements) ⇒ Object



25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/proxtopus/response_parser.rb', line 25

def xml(body, elements)
  ret = ProxySet.new
  doc = Nokogiri::HTML(body)
  els = doc.xpath(elements[:root])                    || nil
  els.each do |el|
    host = el.xpath(elements[:host]).text             || nil
    port = el.xpath(elements[:port]).text             || nil
    anonymity = el.xpath(elements[:anonymity]).text   || nil
    protocol = el.xpath(elements[:protocol]).text     || nil
    country = el.xpath(elements[:country]).text       || nil
    ret.push(Proxy.new(host, port, protocol, country, anonymity))
  end
  #puts "[ret in ResponseParser->xml]"
  #puts ret.inspect
  #puts
  #puts
  #gets
  ret
end