Web Crawler em Ruby com Open-URI e Nokogiri
Publicado por Daniel Vinciguerra (última atualização em 06/07/2016)
[ Hits: 5.081 ]
Homepage: http://bivee.com.br
Você já precisou acessar algum site na web para obter alguma informação usando Ruby?
Esse tipo de cenário é bem comum e não é difícil que tenhamos esse tipo de necessidade em um projeto, seja para servir a informação em questão ou para utiliza-la no desenvolvimento do projeto.
Para esse tipo de necessidade este script vai apresentar dois módulos Ruby, o primeiro é o "open-uri" que serve para acessar o conteúdo publicado na web (html, js, css, etc...), e o segundo é o "nokogiri" que nos permite acessar os elementos do html/xml, usando com seletores baseados em XPath ou CSS.
PRÉ-REQUISITOS
- ruby
- Módulo open-uri e nokoguiri instalado
REFERÊNCIAS
http://ruby-doc.org/stdlib-2.2.0/libdoc/open-uri/rdoc/OpenURI.html
https://rubygems.org/gems/nokogiri
EXECUTANDO
$ ruby web-crawler.rb
#!/usr/bin/env ruby
# 2016 (c) Daniel Vinciguerra
# importa os modulos
require 'open-uri'
require 'nokogiri'
# obtém o html da pagina
html = open 'https://www.vivaolinux.com.br'
puts "LISTA DOS ULTIMOS SCRIPTS"
puts '=' * 60
# efetua o parse do html
doc = Nokogiri::HTML(html)
id = 1
# seleciona os elementos usando css selector
doc.css('div#scripts > .media').each do |d|
# imprime as informações encontradas
puts "\n#{id} - " + d.at_css('h3').content
puts "Escrito por: " + d.at_css('em').content
id += 1
end
Shoes - GUIfique scripst em ruby
Sistema de simulação de fabricantes de carros
Faça uma lista com o nome de pessoas
Exemplo de utilização de métodos em Ruby
Cirurgia para acelerar o openSUSE em HD externo via USB
Void Server como Domain Control
Modo Simples de Baixar e Usar o bash-completion
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
Jogar games da Battle.net no Linux com Faugus Launcher
Como fazer a Instalação de aplicativos para acesso remoto ao Linux
Como fazer a instalação do Samba
Como fazer a conversão binária e aplicar as restrições no Linux
Duas Pasta Pessoal Aparecendo no Ubuntu 24.04.3 LTS (19)
Formas seguras de instalar Debian Sid (13)
Malware encontrado em extensões do Firefox. (0)
Fiz uma pergunta no fórum mas não consigo localizar [RESOLVIDO] (21)









