When I first started scraping with Scrapy, I used plain dictionaries for everything:



yield {
'name': 'Product Name',
'price': '$29.99',
'stock': 'In Stock'
}






It worked. My scraper ran. Data got saved. Mission accomplished, right?

Wrong.

Three weeks later, I made a typo. Instead of 'price', I accidentally typed 'pric'. My...