最近在研究python,爬了知乎的图片。记录一下如何用python存储图片到MySQL
def save_myysql():
fp = open("E:/py_image/2.jpg", 'rb')
img = fp.read()
fp.close()
# 创建连接
conn = pymysql.connect(host='localhost',
port=3306,
user='root',
passwd='*****',
db='py_image',
charset='utf8',
use_unicode=True, )
# 创建游标
cursor = conn.cursor()
# 注意使用Binary()函数来指定存储的是二进制
#cursor.execute("INSERT INTO zhihu_image SET touxiang_data= %s" % pymysql.Binary(img))
i=1
sql = 'Insert into zhihu_image(id,images) values(%d'%i +',binary%s);'
cursor.execute(sql,img)
# 提交,不然无法保存新建或者修改的数据
conn.commit()
# 关闭游标
cursor.close()
# 关闭连接
conn.close()
print('successful!!')
有一个二进制的细节,搜了很久没搜到,英文网站解决了
https://stackoverflow.com/questions/36849144/how-to-avoid-encoding-warning-when-inserting-binary-data-into-a-blob-column-in-m