目标 网站:豆瓣TOP250榜单
选择的原因 相似特征: 详情页、翻页√
mysql-connector 是 MySQL 官方提供的驱动器,我们用它来连接使用MySQL,输入 pip 命令来安装 mysql-connector:
ps: pip和conda list 均显示安装好了,测试安装成功:
数据库基本操作教程Python MySQL - 点击 -
mysql.connector_代码示例 - CSDN博客 -
import mysql.connector
mydb = mysql.connector.connect(
host="localhost", # 数据库主机地址
user="root", # 数据库用户名
passwd="123456", # 数据库密码
database="tptest" # 直连数据库,如果数据库不存在,会输出错误信息
)
print(mydb)
mycursor = mydb.cursor() #获取游标,接下来用cursor提供的方法
''' 建表 : 只执行一次
mycursor.execute("create table template"
"(Id INT(10) NOT NULL AUTO_INCREMENT," # 记得设置主键
"PRIMARY KEY (Id)," # 主键第二行
"Team VARCHAR(100) NOT NULL,"
"Number INT NOT NULL,"
"Name VARCHAR(100) NOT NULL,"
"Positions VARCHAR(100) NOT NULL)"
)
'''
# 插入数据一:具体数值直接插入
mycursor.execute("insert into template(Team,Number,Name,Positions)values('湖人','25','詹姆斯','前锋')")
# 插入数据二:赋值给变量,将变量的值插入mysql
data1 #假设已赋值,且type = list
data2 #假设已赋值,且type = list
#需转换为list类型才能插入mysql
sql_name = "".join(data1)
sql_age = "".join(data2)
sql = "INSERT INTO databaseName(DB_name,DB_age) VALUES (%s, %s)"
val = (sql_name,sql_age)
mycursor.execute(sql, val)
'''
mydb.commit() # 调用此方法进行提交
mycursor.close() # 关闭游标
mydb.close() # 关闭数据库连接
报错:python将数据插入mysql数据库:Unknown column ‘xxx’ in 'field list’
解决方法:
1、如果是作插入操作“insert into…”的话,很可能是插入表的字段没匹配对,比如有一些要求非空的字段,要检查是否都赋了值。
2、查看插入时,赋值是否加了单引号:values(“’”+变量+“’”,’“’”+变量+“’”)。
3、总之,就是要仔细检查sql语句,最好先去数据库中,运行一下看看。
报错:Mysql出现ERROR 1265 (01000): Data truncated for column ‘name’ at row 1
解决方法:赋值超出了name设置的宽度,因此去增大name的宽度。
报错:Python ‘list’ cannot be converted to a MySQL type
解决方法:list类型无法插入mysql,需要先转换数据类型:
data_str = "".join(data_list)