¿Cuál es la diferencia entre el raspado y el rastreo?
El raspado y el rastreo son dos métodos para recopilar datos web. Aunque a menudo se utilizan indistintamente, tienen diferencias en sus funciones y propósitos.
- Rastreo (Crawling):
El rastreo se refiere a explorar varias páginas web de un sitio.
Normalmente, un programa automatizado llamado rastreador web o araña recorre el sitio web siguiendo enlaces de páginas o analizando la estructura del sitio para recopilar datos específicos.
Se utiliza ampliamente en el proceso de indexación de motores de búsqueda en la web.
- Raspado (Scraping):
El raspado implica extraer datos deseados de una página web específica.
Se utiliza para recopilar información como el precio de un producto o noticias de una página web.
El raspado se centra en extraer los datos deseados de la página recopilada por el rastreador, ya sea el HTML de la página o los resultados de la API.
En resumen, el rastreo es el proceso de explorar y recopilar páginas web, mientras que el raspado es el proceso de extraer información específica de las páginas recopiladas.
Degustación de rastreo en el lenguaje Ruby
Para realizar el rastreo y el raspado web en Ruby, mostraremos un ejemplo simple utilizando las bibliotecas **nokogiri** y **open-uri**.
Primero, necesitas instalar las bibliotecas necesarias. Ejecuta el siguiente comando en la terminal para instalar **nokogiri**. No es necesario instalar **open-uri** por separado.
gem install nokogiri
A continuación, se muestra un código Ruby simple que rastrea y raspa el título de una página web específica.
require 'nokogiri'
require 'open-uri'
# 웹 페이지 URL
url = 'http://example.com'
# 해당 URL의 HTML을 열고 Nokogiri 객체로 파싱합니다.
doc = Nokogiri::HTML(URI.open(url))
# 웹 페이지의 제목을 찾아 출력합니다.
title = doc.css('title').text
puts "Page Title: #{title}"
# 웹 페이지 내의 모든 링크를 크롤링하여 출력합니다.
doc.css('a').each do |link|
puts "Link: #{link['href']} Text: #{link.text}"
end
Explicación del código:
Importa las bibliotecas necesarias con
**require 'nokogiri'**y**require 'open-uri'**.Utiliza
**Nokogiri::HTML(URI.open(url))**para abrir el documento HTML de la URL dada y convertirlo en un objeto Nokogiri.Extrae el texto de la etiqueta
**<title>**con**doc.css('title').text**para obtener el título de la página.Utiliza
**doc.css('a')**para encontrar todos los elementos**<a>**(enlaces) y muestra sus atributos**href**y texto.
Este código raspa el título de la página web dada y recopila información rastreando todos los enlaces dentro de la página.
Degustación de raspado en el lenguaje Ruby
Ahora, mostraremos un ejemplo de extracción (raspado) de datos específicos de una página web de ejemplo utilizando **nokogiri** y **open-uri**, al igual que en el rastreo.
El siguiente código es un ejemplo de raspado que extrae los titulares de noticias más recientes de una página web simulada.
ruby코드 복사
require 'nokogiri'
require 'open-uri'
# 가상 웹 페이지의 URL
url = 'https://example.com/news'
# HTML 콘텐츠를 가져와 Nokogiri로 파싱합니다.
doc = Nokogiri::HTML(URI.open(url))
# 최신 뉴스 헤드라인을 담고 있는 요소를 스크래핑합니다.
# 가정: 최신 뉴스는 클래스가 'headline'인 div에 포함되어 있다.
headlines = doc.css('div.headline')
# 각 헤드라인 요소에서 텍스트를 추출하여 출력합니다.
headlines.each do |headline|
puts headline.text.strip
end
Explicación del código:
Importa las bibliotecas necesarias con
**require 'nokogiri'**y**require 'open-uri'**.Utiliza
**Nokogiri::HTML(URI.open(url))**para abrir y analizar el documento HTML de la URL dada.Selecciona todos los elementos
**<div>**con la clase**headline**usando**doc.css('div.headline')**.Muestra el texto de cada elemento de titular.
Este código muestra cómo extraer datos deseados basados en la estructura HTML de la página web utilizando selectores CSS específicos. Al cambiar los selectores según la página web que desees raspar, puedes extraer una variedad de información.
También te puede interesar:
Automatiza la recopilación de datos ahora
Comienza en 5 minutos sin necesidad de programar · Experiencia en rastreo de más de 5,000 sitios web




