In this lesson, you’ll learn about: Scrapy’s full architecture, how to build real spiders from scratch, and how to move from simple extraction to production-ready crawling with structured data pipelines1. Scrapy Architecture (How Everything Works)🔹 Core System FlowScrapy is built around a central engine that coordinates everything.🔹 Main ComponentsComponentRoleEngineControls flowSchedulerQueues URLsDownloaderFetches pagesSpiderExtracts dataPipelineProcesses & stores data👉 Key Insight You don’t control HTTP manually—Scrapy does it for you2. Project Setup & Spider Creation🔹 Initialize a Projectscrapy startproject myproject 🔹 Generate a Spiderscrapy genspider stocks yahoo.com 🔹 Project Structuremyproject/ ├── spiders/ ├── items.py ├── pipelines.py ├── settings.py 👉 Key Insight Each file has a strict responsibility → clean separation of logic3. Extracting Real Data (Yahoo Finance Example)🔹 Target Use CaseWe extract:
Company name
Stock price
Market data
🔹 XPath in Spiderdef parse(self, response): yield { "name": response.xpath("//h1/text()").get(), "price": response.xpath("//fin-streamer[@data-field='regularMarketPrice']/text()").get() } 👉 Key Insight Spiders are just Python classes with extraction rules4. Running the Spider🔹 Execution Commandscrapy crawl stocks 🔹 Output Options
Console print
JSON export
CSV export
File writing
🔹 Save to Filescrapy crawl stocks -o data.json 👉 Key Insight Scrapy supports structured output without extra code5. Item Loaders (Cleaner Code)🔹 Why They MatterItem Loaders help:
Clean data
Normalize values
Reduce repeated logic
🔹 Examplefrom scrapy.loader import ItemLoader loader = ItemLoader(item=StockItem(), response=response) loader.add_xpath("price", "//span/text()") return loader.load_item() 👉 Key Insight You separate extraction from transformation6. Pipelines (Final Processing Layer)🔹 What Pipelines Do
Clean data
Validate data
Save to database/files
🔹 Example Pipelineclass CleanPipeline: def process_item(self, item, spider): item["price"] = float(item["price"]) return item 👉 Key Insight Pipelines act like a data factory assembly line7. Full Data Flow
Scheduler queues URL
Downloader fetches page
Spider extracts data
Pipeline cleans it
Output stored
8. Mental ModelThink of Scrapy as:
🧠 Brain → Engine
📦 Factory line → Pipelines
🕷️ Workers → Spiders
🚚 Delivery system → Downloader
Final TakeawayScrapy turns scraping into a fully automated data engineering system.Once you combine:
Spiders (logic)
Selectors (extraction)
Pipelines (processing)
👉 You don’t just collect data anymore—you build production-grade data pipelines.