#数据清洗与校验:过滤脏数据、字段验证
📂 所属阶段:第二阶段 — 数据流转(数据处理篇)
#1. 数据清洗
class CleaningPipeline:
def process_item(self, item, spider):
# 去空格
item['title'] = item['title'].strip()
# 去重复空格
item['title'] = ' '.join(item['title'].split())
# 转小写
item['category'] = item['category'].lower()
# 转数字
item['price'] = float(item['price'].replace('$', ''))
return item#2. 数据验证
from scrapy.exceptions import DropItem
class ValidationPipeline:
def process_item(self, item, spider):
# 必填字段检查
if not item.get('title'):
raise DropItem("Missing title")
# 数据类型检查
if not isinstance(item['price'], (int, float)):
raise DropItem("Invalid price")
# 数据范围检查
if item['price'] < 0:
raise DropItem("Negative price")
return item#3. 小结
数据质量三步:
1. 清洗:格式化数据
2. 验证:检查数据有效性
3. 存储:保存到数据库
好处:
- 减少脏数据
- 提升数据质量
- 便于后续分析💡 记住:数据质量决定分析质量。投入时间做好清洗和验证,后续工作会轻松 10 倍。
🔗 扩展阅读

