采集到的数据,总归是要保存起来,保存到文件,或者数据库,方便以后取用。
思前想后,还是决定采用MySQL数据库,新版本叫MariaDB了,不过都是通用的。
安装MySQL-python
模块
1
| sudo easy_install MySQL-python
|
Issue:安装MySQL-Python出错mysql_config not found
插入数据
我这里MySQL位于我虚拟机172.25.254.18
,数据库名yzy_data
,用户名yzy_data
,密码pass
我新建了一个表用于保存标题
、用户ID
、网盘URL
表结构如下
1 2 3 4 5 6 7 8 9 10 11 12 13
| CREATE TABLE `test` ( `id` int(11) NOT NULL, `title` varchar(255) NOT NULL, `uid` varchar(30) NOT NULL, `purl` varchar(255) NOT NULL ) ENGINE=MyISAM DEFAULT CHARSET=utf8mb4;
ALTER TABLE `test` ADD PRIMARY KEY (`id`);
ALTER TABLE `test` MODIFY `id` int(11) NOT NULL AUTO_INCREMENT;
|
新增了一个ID的字段,方便索引数据,这个字段我设置是自增的,所以平时插入数据留空即可。
插入一条数据,标题:测试插入、用户ID:123321、网盘URL:http://pan.baidu.com/xxx
代码如下
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| # 导入mysql库 import MySQLdb
#连接数据库 指定编码utf8 conn = MySQLdb.connect(host="172.25.254.18",user="yzy_data",passwd="pass",db="yzy_data",charset="utf8") cursor = conn.cursor()
# 执行插入数据 sql = "insert into `test`(title,uid,purl) values(%s,%s,%s)" param = ("测试插入","123321","http://pan.baidu.com/xxx") n = cursor.execute(sql,param) print "insert",n
cursor.close()
|
我这里是用的是MyISAM表引擎,所以并不需要插入后conn.commit()
来提交才能插入数据。像Innodb这类支持事务的表都需要。
参考资料