Ruby:
Descargando una página web
Cómo hacerlo:
Ruby hace esto fácil con bibliotecas como open-uri
y nokogiri
. Aquí hay un ejemplo básico con open-uri
:
require 'open-uri'
# Abre la URL y lee el contenido
contenido = open('https://www.ejemplo.com').read
puts contenido
Salida muestra el HTML de www.ejemplo.com
.
Si quieres algo más avanzado, por ejemplo, parsear el HTML, usa nokogiri
:
require 'open-uri'
require 'nokogiri'
# Descargar la página
pagina = Nokogiri::HTML(URI.open('https://www.ejemplo.com'))
# Buscar elementos específicos
titulos = pagina.css('h1')
# Imprimir los títulos
titulos.each { |titulo| puts titulo.content }
Esto imprimirá todos los títulos <h1>
de www.ejemplo.com
.
Profundizando:
Descargar web empezó con comandos como wget
o curl
. Con el tiempo, lenguajes de programación ofrecieron estas funciones directamente. En Ruby, antes de open-uri
, se usaba net/http
, que es más complejo pero poderoso.
Alternativas a open-uri
y nokogiri
incluyen Mechanize
, que actúa más como un navegador, almacenando cookies y siguiendo redirecciones automáticamente.
En cuanto a detalle de implementación, al usar open-uri
, ten en cuenta que maneja automáticamente las redirecciones y siempre deberías manejar excepciones para los posibles errores de conexión.