Web Crawler em Ruby com Open-URI e Nokogiri
Publicado por Daniel Vinciguerra (última atualização em 06/07/2016)
[ Hits: 5.028 ]
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
Exemplos de comentários e operadores de impressão na tela
Postmon - Consumindo uma API com Ruby
Monitorando o Preço do Bitcoin ou sua Cripto Favorita em Tempo Real com um Widget Flutuante
IA Turbina o Desktop Linux enquanto distros renovam forças
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Como realizar um ataque de força bruta para desobrir senhas?
Como usar Gpaste no ambiente Cinnamon
Atualizando o Fedora 42 para 43
Eu queria adicionar a incon do wifi e deixa transparente no fluxbox no... (1)
Erro ao tentar ativar o secure boot no arch (1)









