#Pipeline 管道实战:JSON/CSV 存储、数据库持久化
📂 所属阶段:第二阶段 — 数据流转(数据处理篇)
#1. JSON 存储
# pipelines.py
import json
class JsonPipeline:
def open_spider(self, spider):
self.file = open('items.json', 'w', encoding='utf-8')
def close_spider(self, spider):
self.file.close()
def process_item(self, item, spider):
line = json.dumps(dict(item), ensure_ascii=False) + '\n'
self.file.write(line)
return item#2. MySQL 存储
import pymysql
class MysqlPipeline:
def open_spider(self, spider):
self.conn = pymysql.connect(
host='localhost',
user='root',
password='password',
database='mydb'
)
self.cursor = self.conn.cursor()
def close_spider(self, spider):
self.conn.close()
def process_item(self, item, spider):
sql = "INSERT INTO products (title, price) VALUES (%s, %s)"
self.cursor.execute(sql, (item['title'], item['price']))
self.conn.commit()
return item#3. 小结
Pipeline 用途:
- 数据清洗
- 数据验证
- 数据存储
支持多个 Pipeline 链式处理💡 记住:Pipeline 是数据的最后一站。在这里确保数据质量。
🔗 扩展阅读

