Inicio > Cursos > Web Scraping con Python > Scrapy: Proyectos profesionales
Web Scraping con PythonScraping AvanzadoLección 5 de 8

Scrapy: Proyectos profesionales

Scrapy es un framework completo para scraping a gran escala. Maneja concurrencia, pipelines de datos, rate limiting y exportacion automaticamente.

import scrapy

class QuotesSpider(scrapy.Spider):
    name = "quotes"
    start_urls = ["https://quotes.toscrape.com"]
    
    def parse(self, response):
        for quote in response.css("div.quote"):
            yield {
                "text": quote.css("span.text::text").get(),
                "author": quote.css("small.author::text").get(),
                "tags": quote.css("a.tag::text").getall(),
            }
        
        # Seguir a la siguiente pagina
        next_page = response.css("li.next a::attr(href)").get()
        if next_page:
            yield response.follow(next_page, self.parse)

# Ejecutar:
# scrapy crawl quotes -o quotes.json

Ventajas de Scrapy vs requests:

• Concurrencia automatica (16 requests simultaneos) • Respeta robots.txt automaticamente • Rate limiting configurable • Pipelines para limpiar y guardar datos • Middleware para proxies, retry, etc • Exporta a JSON, CSV, XML automaticamente • Ideal para miles/millones de paginas

← Bypass de protecciones anti-botAPIs ocultas: scraping sin HTML →

Practica esta lección

Resuelve los ejercicios del curso de Web Scraping con Python en la app, gratis y con corrección automática.

Empezar a practicar