🔍 Guía práctica paso a paso para hacer scraping en VS Code (extracción de datos web)

Esta guía está pensada para principiantes que quieren aprender a recolectar datos desde sitios web de forma automatizada, usando Python desde su computadora con Visual Studio Code (VS Code).


1. 📚 ¿Qué es el web scraping?

El web scraping es una técnica para extraer información estructurada de sitios web. Puede ser muy útil para crear bases de datos de:

Siempre revisa las condiciones de uso del sitio antes de hacer scraping. Hazlo con fines éticos y educativos.


2. 💻 Requisitos previos

Abre una terminal en VS Code y ejecuta:

pip install requests beautifulsoup4 pandas

También puedes crear un entorno virtual:

python -m venv .venv
source .venv/bin/activate  # En Mac/Linux
o .venv\Scripts\activate  # En Windows

3. 🌐 Estructura básica del scraping

  1. Crea un archivo llamado scraper.py
  2. Copia este ejemplo:
import requests
from bs4 import BeautifulSoup

url = 'https://ejemplo.com/libros'
headers = {"User-Agent": "Mozilla/5.0"}
respuesta = requests.get(url, headers=headers)

soup = BeautifulSoup(respuesta.text, 'html.parser')

libros = soup.find_all('div', class_='libro')
for libro in libros:
    titulo = libro.find('h2').text
    autor = libro.find('span', class_='autor').text
    print(titulo, '-', autor)

4. 📂 Guardar los datos en un archivo CSV

Agrega al script anterior:

import pandas as pd

datos = []
for libro in libros:
    titulo = libro.find('h2').text
    autor = libro.find('span', class_='autor').text
    datos.append({"titulo": titulo, "autor": autor})

df = pd.DataFrame(datos)
df.to_csv("libros.csv", index=False)

Revisa que el archivo libros.csv se cree en tu carpeta del proyecto.


5. ✅ Buenas prácticas


6. 📄 Sitios comúnmente scrapeables para fines educativos


7. 📚 Recursos para profundizar


📈 Con esta base, puedes comenzar a construir tus propios scripts de extracción de datos desde cualquier sitio web estructurado, trabajando localmente en VS Code. Si necesitas una plantilla para un sitio específico, puedo ayudarte a crearla.