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

Python爬虫在抓取网页数据后,通常需要将结果保存下来以便后续分析或使用。常见的保存方式包括保存为本地文件(如CSV、JSON、Excel)或存储到数据库中(如MySQL、MongoDB)。下面介绍几种实用且常用的方法。
保存为CSV文件
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文件
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美化格式。
保存到Excel文件
使用pandas库可轻松导出为Excel(.xlsx),适合需要图表或多人查看的场景。
示例代码:
import pandas as pd
df = pd.DataFrame(data)
df.to_excel(“data.xlsx”, index=False)
需提前安装:pip install pandas openpyxl
保存到MySQL数据库
适用于大量数据长期存储,支持复杂查询。
示例代码:
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
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爬虫将数据保存为文件或数据库的方法的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1378601.html
微信扫一扫
支付宝扫一扫