Elige tu idioma
Curso de Web Scraping con Python y Scrapy
Más de 2 millones de estudiantes en todo el mundo

Curso de Web Scraping con Python y Scrapy

Aprende a recolectar datos de cualquier sitio web utilizando Python y Scrapy, uno de los frameworks de web scraping más potentes disponibles. Este curso te lleva desde la configuración del entorno hasta la construcción de arañas listas para producción que manejan paginación, medidas anti-bots y páginas renderizadas con JavaScript. Al final, tendrás un proyecto para tu portafolio y las habilidades prácticas para automatizar la recolección de datos a escala.

Dedika para empresas

Lo que vas a aprender:

  • Configura un entorno de desarrollo profesional de Python y Scrapy desde cero.

  • Construye arañas que sigan enlaces de paginación y rastreen sitios web completos de múltiples páginas de forma automática.

  • Extrae, limpia y almacena datos estructurados en CSV, JSON, SQLite y MongoDB.

  • Aplica rotación de proxy, suplantación de agente de usuario y AutoThrottle para eludir las defensas comunes contra el web scraping.

  • Realiza scraping en páginas renderizadas con JavaScript y aplicaciones de una sola página utilizando la integración de Playwright.

  • Diseña proyectos de scraping de principio a fin con pipelines reutilizables, esquemas de ítems y programación automática.

Cómo estudias de forma práctica Curso de Web Scraping con Python y Scrapy

Cómo practicas Curso de Web Scraping con Python y Scrapy

Para ti que eres empresa y quieres capacitar a tu equipo

En Dedika para empresas, el curso incluye ejercicios y ejemplos adaptados a tu propio negocio y a las necesidades de tu empresa.

Haz clic aquí

Contenido del curso

8 Capítulos • 37 LeccionesDuración entre 4 y 360 horas (tú decides)

Capítulo 1Ver detalles

Configuración del entorno de Python y Scrapy

  • Lección 1 • Entornos virtuales para proyectos de Python

    Crea entornos virtuales aislados para gestionar las dependencias del proyecto de forma limpia. El aislamiento previene conflictos de paquetes entre múltiples proyectos.

  • Lección 2 • Configuración del editor de código para proyectos de Scrapy

    Configura un editor de código con soporte para Python, linting y resaltado de sintaxis. Las herramientas adecuadas aceleran el desarrollo y reducen los errores de sintaxis.

  • Lección 3 • Instalación de Scrapy y sus dependencias

    Instala Scrapy mediante pip y resuelve problemas comunes de dependencias. Una instalación limpia confirma que el entorno está listo para el desarrollo de spiders.

  • Lección 4 • Instalación y configuración de Python

    Instala Python y configura las variables PATH para el acceso desde la línea de comandos. Una configuración correcta aquí previene errores de entorno a lo largo del curso.

Capítulo 2Ver detalles

Fundamentos web para scrapers

  • Lección 1 • Herramientas de desarrollo del navegador para la investigación de scrapers

    Utiliza las herramientas de desarrollo del navegador para inspeccionar elementos, monitorear el tráfico de red y copiar selectores. Este flujo de trabajo de investigación informa directamente el diseño del spider.

  • Lección 2 • Expresiones XPath para selección avanzada

    Escribe expresiones XPath para navegar el DOM con mayor flexibilidad que solo con CSS. XPath maneja patrones de recorrido complejos que CSS no puede expresar.

  • Lección 3 • Cómo funcionan las solicitudes y respuestas HTTP

    Traza el ciclo de vida de una solicitud HTTP desde el navegador al servidor y de vuelta. Este modelo explica lo que Scrapy replica al obtener páginas.

  • Lección 4 • Selectores CSS para apuntar a datos

    Utiliza la sintaxis de selectores CSS para localizar elementos específicos dentro de un documento HTML. Estos selectores son la herramienta principal de apuntado en los spiders de Scrapy.

  • Lección 5 • Estructura HTML y el DOM

    Lee e interpreta documentos HTML como estructuras de árbol anidadas. Comprender el DOM es esencial para escribir selectores CSS y XPath precisos.

Capítulo 3Ver detalles

Construcción de tu primer spider de Scrapy

  • Lección 1 • Ejecución y depuración de spiders

    Ejecuta spiders con el comando scrapy crawl e interpreta la salida del registro. Las habilidades de depuración reducen el tiempo dedicado a spiders rotos.

  • Lección 2 • Anatomía de una clase Spider de Scrapy

    Examina la clase base Spider y sus atributos y métodos requeridos. Cada spider hereda esta estructura, por lo que dominarla es fundamental.

  • Lección 3 • Extracción de datos con selectores

    Aplica selectores CSS y XPath dentro del método parse para extraer texto y atributos. La extracción precisa es la habilidad central de cualquier spider.

  • Lección 4 • Estructura del proyecto Scrapy explicada

    Genera un proyecto Scrapy y comprende la función de cada archivo generado. Conocer la estructura previene errores de ubicación de código y configuración.

Capítulo 4Ver detalles

Items de Scrapy y modelado de datos

  • Lección 1 • Limpieza de datos con procesadores

    Escribe funciones de procesador personalizadas para eliminar, convertir y normalizar valores de campo. Los datos limpios a nivel del loader reducen la complejidad del pipeline posterior.

  • Lección 2 • Definición de Items de Scrapy

    Declara clases Item con campos tipados para representar registros extraídos. Los Items imponen un esquema consistente en todos los spiders de un proyecto.

  • Lección 3 • Uso de ItemLoaders para datos limpios

    Aplica ItemLoaders para automatizar el procesamiento de entrada y salida en los valores de campo. Los loaders separan la lógica de extracción de la lógica de limpieza para facilitar el mantenimiento.

  • Lección 4 • Validación de datos extraídos

    Agrega validación a nivel de campo para detectar registros mal formados antes de que lleguen al almacenamiento. La validación temprana previene que datos corruptos entren en los pipelines.

Capítulo 5Ver detalles

Rastreo de múltiples páginas y sitios

  • Lección 1 • Seguimiento de enlaces con solicitudes de Scrapy

    Cede objetos scrapy.Request desde los métodos parse para instruir al rastreador a obtener URLs adicionales. El seguimiento de enlaces es el mecanismo detrás de los rastreos de sitio completo.

  • Lección 2 • Uso de CrawlSpider para rastreo basado en reglas

    Aprovecha la subclase CrawlSpider y los objetos Rule para definir patrones de seguimiento de enlaces de forma declarativa. Las reglas reducen el boilerplate para sitios grandes y estructurados.

  • Lección 3 • Gestión de la profundidad y alcance del rastreo

    Configura límites de profundidad y filtros de URL para mantener los rastreos enfocados y eficientes. El control de alcance previene rastreos descontrolados que desperdician recursos.

  • Lección 4 • Estrategias de paginación

    Detecta y sigue enlaces de página siguiente a través de esquemas de paginación numérica y basada en cursor. Manejar la paginación desbloquea la extracción completa del conjunto de datos.

  • Lección 5 • Paso de datos entre solicitudes

    Utiliza los diccionarios cb_kwargs y meta para llevar contexto de una solicitud a la siguiente. El contexto compartido permite el ensamblaje de registros de múltiples páginas.

Capítulo 6Ver detalles

Pipelines de Scrapy y almacenamiento de datos

  • Lección 1 • Exportación de datos a CSV y JSON

    Utiliza los exportadores de feeds integrados de Scrapy para escribir items en archivos planos. Las exportaciones a archivos planos son el camino más rápido del spider a los datos utilizables.

  • Lección 2 • Escritura de componentes de pipeline personalizados

    Construye clases de pipeline que limpien, dedupliquen o enriquezcan los items antes del almacenamiento. Los pipelines personalizados manejan lógica que los exportadores no pueden expresar.

  • Lección 3 • Almacenamiento de datos en MongoDB

    Escribe un pipeline que inserte items en una colección de MongoDB utilizando PyMongo. El almacenamiento de documentos se adapta a datos extraídos con campos variables o anidados.

  • Lección 4 • Almacenamiento de datos en una base de datos SQL

    Conecta un pipeline a una base de datos relacional e inserta items fila por fila. El almacenamiento en base de datos permite realizar consultas y gestionar datos a largo plazo.

  • Lección 5 • Comprensión de la arquitectura del pipeline

    Traza cómo fluyen los items desde los spiders a través de los componentes del pipeline ordenados. Comprender este flujo es necesario para diseñar cadenas de procesamiento efectivas.

Capítulo 7Ver detalles

Manejo de medidas anti-scraping

  • Lección 1 • Comprensión de las técnicas de detección de bots

    Cataloga las señales del lado del servidor utilizadas para identificar tráfico automatizado. Conocer los métodos de detección informa las contramedidas aplicadas en secciones posteriores.

  • Lección 2 • Limitación de solicitudes con AutoThrottle

    Habilita la extensión AutoThrottle de Scrapy para adaptar las tasas de solicitudes a los tiempos de respuesta del servidor. El rastreo respetuoso reduce el riesgo de prohibiciones por límite de tasa.

  • Lección 3 • Rotación de agentes de usuario y encabezados

    Configura middleware para aleatorizar las cadenas de agente de usuario y los encabezados HTTP por solicitud. La rotación de encabezados reduce la huella digital que activa la detección de bots.

  • Lección 4 • Uso de rotación de proxies

    Dirige las solicitudes a través de grupos de proxies rotativos para distribuir el tráfico entre múltiples direcciones IP. La rotación de proxies es la defensa principal contra las prohibiciones basadas en IP.

  • Lección 5 • Gestión de cookies y sesiones

    Controla el manejo de cookies para mantener sesiones o aislar solicitudes según sea necesario. La gestión adecuada de sesiones previene bloqueos por muro de inicio de sesión y detección basada en sesiones.

Capítulo 8Ver detalles

Scraping de páginas renderizadas con JavaScript

  • Lección 1 • Manejo de desplazamiento infinito y carga diferida

    Automatiza acciones de desplazamiento y activa eventos de carga diferida para exponer contenido oculto. Estas técnicas completan la extracción de conjuntos de datos en páginas modernas de estilo feed.

  • Lección 2 • Identificación de contenido renderizado con JavaScript

    Distingue entre HTML renderizado por el servidor y contenido renderizado por el cliente antes de elegir una estrategia de scraping. La identificación correcta previene el esfuerzo desperdiciado en el enfoque equivocado.

  • Lección 3 • Mantenibles

    Compara la velocidad, el costo de recursos y la confiabilidad de los navegadores headless frente a las solicitudes HTTP directas. Las decisiones de compromiso informadas mantienen los proyectos mantenibles y eficientes.

  • Lección 4 • Biblioteca

    Utiliza la librería scrapy-playwright para renderizar JavaScript dentro del pipeline de solicitudes de Scrapy. La integración de Playwright maneja sitios donde la interceptación de API no es factible.

  • Lección 5 • Interceptación directa de llamadas API

    Realiza ingeniería inversa de las solicitudes API subyacentes que realiza un navegador y llámalas directamente con Scrapy. Las llamadas API directas son más rápidas y estables que la automatización del navegador.

Certificación

Tu certificado válido de finalización

Este curso es para ti:

  • Aspirantes a analistas de datos: necesitan conjuntos de datos reales sin depender de proveedores de terceros.

  • Aficionados a Python: listos para ir más allá de los tutoriales y construir algo realmente útil.

  • Desarrolladores freelance: quieren ofrecer la recopilación automatizada de datos como un servicio facturable.

  • Personas en cambio de carrera: buscan puestos de datos o backend y necesitan un proyecto de portafolio concreto.

  • Investigadores y académicos: deben recopilar datos de la web repetidamente sin copiar y pegar manualmente.

  • Dueños de pequeños negocios: quieren monitorear a la competencia o agregar información de mercado automáticamente.

Lo que dicen nuestros alumnos

Sus clases son perfectas. Adquirí el paquete de un año y, finalmente, tengo la oportunidad de seguir diversos temas de mi interés sin necesidad de cambiar de plataforma... agradezco todo lo que hacen, ya los he recomendado a otras personas...
Giulio Carlo
Giulio CarloEstudiante de Marketing Digital
Me gusta cómo las lecciones van directo al grano y cómo puedo cambiar capítulos y saltar contenidos que no necesito.
Mariana Ferres
Mariana FerresEstudiante de Fotografía
Me gusta el contenido y la forma de presentación y transcripción de videos, ¡lo que acelera el proceso!
Luciana Alvarenga
Luciana AlvarengaEstudiante de Diseño de Uñas
La plataforma es rápida, simple de usar. La diversidad de contenido y los videos complementarios ayudan mucho en el aprendizaje.
André Felipe
André FelipeEstudiante de Ingeniería de Prompt

Principales capacitaciones

Preguntas frecuentes

¿Quién es Dedika?

¿El certificado es válido en México?

¿Los cursos son gratuitos?

¿Cuál es la carga horaria del curso?

¿Cómo son los cursos?

¿Cómo funcionan los cursos?

¿Cuál es la duración de los cursos?

¿Cuál es el costo o precio de los cursos?

¿Qué es un curso EAD u online y cómo funciona?

Curso en PDF