python爬虫系列(4.3-数据存储到mysql数据库中)

一、如果你对mysql数据库还不太熟悉



二、基本操作

1、在python中使用pymysql连接mysql

2、安装包

pip3 install pymysql

3、定义一个创建数据库的方法(或者手动、SQL语句创建数据库)

# 定义一个创建数据库的函数

def create_table():

# 创建数据库连接

db = pymysql.connect(host='127.0.0.1', user='root', passwd='root', db='nodejs', port=3306,

charset='utf8')

# 获取数据库句柄

cursor = db.cursor()

cursor.execute('DROP TABLE IF EXISTS food')

# 创建article表的sql语句

sql = """

create table if not exists food(

id INT NOT NULL AUTO_INCREMENT,

name VARCHAR(50) ,

price FLOAT,

address VARCHAR(100),

time DATE,

PRIMARY KEY (`id`)

)

"""

try:

# 执行sql语句

cursor.execute(sql)

# 提交事务

db.commit()

print('创建表成功')

except pymysql.Error as e:

# 数据回滚

db.rollback()

print(e)

finally:

if db:

db.close()

三、爬取的数据存入到数据库中

1、依然使用之前抓取农产品的爬虫数据

2、在类中新增插入数据库的方法

def insert_table(self, name, price, address, time):

"""

对爬取的数据插入到数据库中

:param price:

:param address:

:param time:

:return:

"""

# 创建数据库连接

db = pymysql.connect(host='127.0.0.1', user='root', passwd='root', db='nodejs', port=3306,

charset='utf8')

# 获取数据库句柄

cursor = db.cursor()

# 插入数据的sql语句

sql = 'insert into food (name, price, address, time) values (%s, %s, %s, %s)'

try:

# 执行 sql 语句

value = (name, price, address, time)

cursor.execute(sql, value)

# 提交事务

db.commit()

return True

except BaseException as e: # 如果发生错误则回滚

db.rollback()

print(e)

finally: # 关闭游标连接

cursor.close()

# 关闭数据库连接

db.close()


转载于:https://juejin.im/post/5be57681f265da610f633c1b

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值