1、需要从文本中读取三万条数据写入mysql数据库,文件中为用@分割的sql语句,但是在读取的过程中发现速度过慢,三万八千条数据需要220秒,
2、经测试发现,影响速度的主要原因是commit(),因为没过几秒提交一次即可,但是因为提交的字符长度有限制,所以要设置一个合理的时间读取。
3、更改后,写入三万八千条数据仅需要9秒
下载mysql.connector库然后把爬虫爬到的数据通过mysql里面的insert语句查到数据库,当然也可以建表,一般我没用python建表 是先建好再写数据的
import mysql.connector
conn = mysql.connector.connect(
user='root',
password='root',
host='127.0.0.1',
port='3306',
database='test_demo'
)
cursor = conn.cursor()
cursor.execute("INSERT INTO test_user(`uuid`,`user_name`,`user_level`) VALUES (%s,%s,%s)",[id, user_name, user_level])
cursor.execute("INSERT INTO tieba_user_detail(`user_name`,`user_exp`,`user_sex`,`tieba_age`,`tieba_note`,`user_favorites`,`user_fans`) VALUES (%s,%s,%s,%s,%s,%s,%s)",[user_name,user_exp,user_sex, tieba_age,tieba_note, user_favorites, user_fans])
print('************** %s %s 数据保存成功 **************'%(user_rank,user_name))
conn.commit()
cursor.close()