Skip to content

500Byte/wp-scrapers

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 

Repository files navigation

WP Scrapers & Automation Toolkit

Este repositorio es una colección curada de scripts, técnicas y experimentos para scrapear sitios web y preparar datos para WordPress (principalmente WooCommerce) usando WP All Import.

No es un framework. Es un arsenal de herramientas tácticas para resolver problemas reales de extracción e importación de datos.

🎯 Objetivo

El propósito único es reducir la fricción entre la extracción de datos (web scraping) y su publicación en WordPress.

Todo script aquí busca:

  1. Extraer datos de forma resiliente.
  2. Normalizar el contenido (HTML limpio, atributos estandarizados).
  3. Generar CSVs perfectos para WP All Import.

🔄 Flujo de Trabajo

El flujo estándar para cualquier integración es:

graph LR
    A[Target Web] -->|Scraping| B(Raw Data / JSON)
    B -->|Parsing & Limpieza| C{Normalización}
    C -->|Estructuración| D[WP Import CSV]
    D -->|WP All Import| E[WordPress / WooCommerce]
Loading

1. Scraping

  • Uso de Python (Requests, BeautifulSoup, Selenium) o Node.js (Puppeteer/Playwright).
  • Evasión de bloqueos mediante headers, rotación de identidad y delays.
  • Extracción de datos crudos.

2. Normalización

  • Limpieza de HTML (remover clases, estilos, scripts).
  • Estandarización de precios (formato decimal punto).
  • Descarga y mapeo de imágenes.
  • Reconstrucción de jerarquías (Padre/Variaciones).

3. Generación CSV

  • Formato UTF-8.
  • Estructura compatible con WooCommerce (SKU, Type, Regular Price, Attributes).
  • Filas de variaciones ordenadas inmediatamente después de su padre (idealmente).

🛠️ Convenciones

Estructura de Archivos

  • /scripts: Scripts reutilizables y templates.
    • woocommerce_scraper_template.py: Plantilla robusta para scraping directo a CSV.
    • csv_normalizer.py: Utilidad para limpiar y remapear CSVs sucios.
  • /cases: Casos de estudio reales y "sucios" de proyectos pasados (referencia).

Scripts Disponibles

1. WooCommerce Scraper Template (scripts/woocommerce_scraper_template.py)

Scraper CLI profesional con rotación de identidad, manejo de errores y formato WPAI estricto.

Uso:

python scripts/woocommerce_scraper_template.py urls.txt output.csv --resume --limit 100

Características:

  • Resume Capability: Crea un archivo .processed con hashes de URLs para detener y continuar.
  • Logging: scraper_log.txt para errores detallados, consola limpia.
  • WPAI Ready: Genera columnas estandar (sku, product_type, images, attributes).

2. CSV Normalizer (scripts/csv_normalizer.py)

Herramienta para arreglar CSVs generados por herramientas de terceros o scrapers antiguos.

Uso:

python scripts/csv_normalizer.py input.csv output.csv --map mapping.json

Features:

  • Encoding Fix: Fuerza UTF-8.
  • Text Clean: Limpia entidades HTML, espacios dobles y comillas raras.
  • Remapping: Usa un JSON para renombrar columnas ({"old_name": "new_name"}).

Formato CSV para WP All Import

Para productos variables, seguimos este patrón estándar:

  • Parent Row: Type=variable, SKU=P001, Name=Camiseta, Parent=
  • Child Row: Type=variation, SKU=P001-RED, Name=Camiseta - Roja, Parent=P001, Attribute 1=Color, Value 1=Red

🧠 Técnicas Comunes (Tips)

  • Antibot: Usar siempre User-Agent rotativos. Si el sitio es duro, delegar la petición a Oxylabs/ScrapingBee, no pelear con el JS.
  • Selectores: Mapear selectores CSS en un diccionario al inicio del script para fácil mantenimiento.
  • Limpieza HTML: Nunca inyectar HTML sucio de otro sitio. Usar lxml o utilidades de limpieza para dejar solo p, h2, ul, li, strong.
  • Imágenes: WP All Import puede descargar imágenes desde URLs. Asegurar que las URLs sean accesibles y públicas.

⚠️ Disclaimer

Estos scripts son herramientas de "laboratorio". Úsalos bajo tu responsabilidad y ajustándolos a cada caso. Respetar siempre robots.txt y términos de servicio donde aplique.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors