下面是一个Python下载商品数据并连接数据库且保存数据的完整实例教程。
环境准备
1.安装Python,推荐安装Python 3.x版本。
2.安装Python的数据库操作模块pymysql,使用pip install pymysql命令安装。
3.创建一个数据库,本例数据库名为product,数据库的登录用户名是root,密码为空。
实现步骤
1.导入pymysql和requests模块。
import pymysql
import requests
2.连接数据库。
db = pymysql.connect(host='localhost', user='root', password='', db='product', charset='utf8')
cursor = db.cursor()
3.下载商品数据。
url = 'https://api.example.com/products' # 假设商品数据的API接口为此链接
response = requests.get(url)
products = response.json()
4.对商品数据进行处理。
for product in products:
# 提取商品数据中的重要信息
id = product['id']
title = product['title']
price = product['price']
category = product['category']
# 将商品数据存入数据库
sql = "INSERT INTO products (id, title, price, category) VALUES (%s, %s, %s, %s)"
cursor.execute(sql, (id, title, price, category))
db.commit()
5.关闭数据库连接。
db.close()
6.完整代码如下:
import pymysql
import requests
db = pymysql.connect(host='localhost', user='root', password='', db='product', charset='utf8')
cursor = db.cursor()
url = 'https://api.example.com/products'
response = requests.get(url)
products = response.json()
for product in products:
id = product['id']
title = product['title']
price = product['price']
category = product['category']
sql = "INSERT INTO products (id, title, price, category) VALUES (%s, %s, %s, %s)"
cursor.execute(sql, (id, title, price, category))
db.commit()
db.close()
示例说明
示例1:从本地文件下载商品数据
如果商品数据不是来自于API接口,而是本地文件,则可以使用Python的文件操作模块打开文件,读取文件中的商品数据。
import pymysql
db = pymysql.connect(host='localhost', user='root', password='', db='product', charset='utf8')
cursor = db.cursor()
with open('products.txt', 'r', encoding='utf8') as f:
lines = f.readlines()
for line in lines:
id, title, price, category = line.strip().split('\t')
sql = "INSERT INTO products (id, title, price, category) VALUES (%s, %s, %s, %s)"
cursor.execute(sql, (id, title, price, category))
db.commit()
db.close()
示例2:使用ORM框架
如果不想直接使用pymysql操作数据库,可以使用Python的ORM框架,例如peewee。
from peewee import *
import requests
db = MySQLDatabase('product', user='root', password='')
class Product(Model):
id = CharField()
title = CharField()
price = FloatField()
category = CharField()
class Meta:
database = db
db.create_tables([Product])
url = 'https://api.example.com/products'
response = requests.get(url)
products = response.json()
for product in products:
id = product['id']
title = product['title']
price = product['price']
category = product['category']
Product.create(id=id, title=title, price=price, category=category)
以上是Python下载商品数据并连接数据库且保存数据的完整实例教程及示例说明。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python下载商品数据并连接数据库且保存数据 - Python技术站