答案:Python爬虫数据可保存为CSV、JSON、Excel或存入MySQL、MongoDB。小数据用CSV/JSON,分析选Excel,长期结构化存储用MySQL,非结构化数据选MongoDB,注意编码与异常处理。

Python爬虫在抓取网页数据后,通常需要将结果保存下来以便后续分析或使用。常见的保存方式包括保存为本地文件(如CSV、JSON、Excel)或存储到数据库中(如MySQL、MongoDB)。下面介绍几种实用且常用的方法。
CSV是一种简单通用的表格数据格式,适合结构化数据的存储,可用Excel打开,也便于用Pandas处理。
示例代码:import csv
data = [
{"name": "张三", "age": 25, "city": "北京"},
{"name": "李四", "age": 30, "city": "上海"}
]
with open("data.csv", "w", encoding="utf-8", newline="") as f:
writer = csv.DictWriter(f, fieldnames=data[0].keys())
writer.writeheader() # 写入表头
writer.writerows(data) # 写入多行数据
注意:使用newline=""避免空行问题,编码设为utf-8支持中文。
JSON适合保存嵌套结构或非结构化数据,常用于网页API返回的数据存储。
立即学习“Python免费学习笔记(深入)”;
示例代码:import json
with open("data.json", "w", encoding="utf-8") as f:
json.dump(data, f, ensure_ascii=False, indent=2)
ensure_ascii=False确保中文正常显示,indent=2美化格式。
使用pandas库可轻松导出为Excel(.xlsx),适合需要图表或多人查看的场景。
import pandas as pd
df = pd.DataFrame(data)
df.to_excel("data.xlsx", index=False)
需提前安装:pip install pandas openpyxl
适用于大量数据长期存储,支持复杂查询。
示例代码:import pymysql
conn = pymysql.connect(
host="localhost",
user="root",
password="your_password",
database="test_db",
charset="utf8mb4"
)
cursor = conn.cursor()
sql = "INSERT INTO users (name, age, city) VALUES (%s, %s, %s)"
for item in data:
cursor.execute(sql, (item["name"], item["age"], item["city"]))
conn.commit()
conn.close()
需安装:pip install PyMySQL
MongoDB适合存储不固定结构的爬取数据,比如网页详情页内容差异较大时。
示例代码:from pymongo import MongoClient
client = MongoClient("mongodb://localhost:27017/")
db = client["scrapy_db"]
collection = db["users"]
collection.insert_many(data)
插入单条可用insert_one()。安装命令:pip install pymongo
基本上就这些。根据数据量和用途选择合适的方式:小数据用CSV或JSON,分析用Excel,长期结构化存储选MySQL,灵活文档型数据选MongoDB。不复杂但容易忽略编码和异常处理,建议加上try-except保障稳定性。
以上就是Python爬虫怎样保存爬取结果_Python爬虫将数据保存为文件或数据库的方法的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号