15 out

Ruby – WebCrawler / webbot / Spider

#!/usr/bin/env ruby
require 'net/http'
require 'net/https'
require 'nokogiri'
require 'open-uri'
require 'rubygems'
 
ano = ARGV[0]
de_dia = ARGV[1]
de_mes = ARGV[2]
ate_dia = ARGV[3]
ate_mes = ARGV[4]
nome = ((ARGV[5]).to_s).gsub(' ','+')
 
http = Net::HTTP.new('www.in.gov.br')
path = '/imprensa/pesquisa/pesquisa_resultado.jsp'
 
resp, data = http.get(path, nil)
cookie = resp.response['set-cookie']
 
data = 'texto_todas=%22'+nome+'%22&rbfonetica=0&idJornal=1&idJornal=2&idJornal=3&idJornal=5&dataPublicacaoInicial='+de_dia+'%2F'+de_mes+'&dataPublicacaoFinal='+ate_dia+'%2F'+ate_mes+'&ano='+ano
 
headers = {
  'Cookie' => cookie,
  'Referer' => 'http://www.in.gov.br/imprensa/pesquisa/pesquisa_resultado.jsp',
  'Content-Type' => 'application/x-www-form-urlencoded'
}
resp, data = http.post(path, data, headers)
doc = Nokogiri::HTML(data)
doc.xpath('//div/table[@id="ResultadoConsulta"]/tbody/tr/td/table[@bordercolor="#FFFFFF"]/tr/td[1]/span<pre lang="c">/div/a').each do |link|
puts ARGV[5]+","+ link['onclick'].gsub("redirecionaSelect('","").gsub("');","")
end

Use assim:

ruby DOU.rb 2011 15 10 15 10 "SEU NOME COMPLETO"

Referências:

2 thoughts on “Ruby – WebCrawler / webbot / Spider

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *