module Proxtopus::Response::Parser

Public Class Methods

json(body, elements) click to toggle source
# 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) click to toggle source
# 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