1.踩了个操作中文的坑,结果发现之前的文章中有强调了,在连接处加:charset="utf8"
conn = pymysql.connect(host = '127.0.0.1', unix_socket = '/tmp/mysql.sock',
user = 'root' , password = '******', db = 'mysql', charset = 'utf8s')
2. 发现报错,因为爬虫返回的list有2个数据,比如作者字段['账号已注销','生成外链接'],大概就是这么个样子,
然后调整了下抓取字段,将extract 改成 extract_first;
3. 连接SQL不报错了,但是根本写不进去内容啊,特意写了个最简单的insert语句,发现无反应,最后google出原因,
应该加conn.commit();
贴上第一个表的字段:
CREATE TABLE `songList` ( `id` mediumint(8) AUTO_INCREMENT NOT NULL, `title` varchar(255) DEFAULT NULL, `author` varchar(255) DEFAULT NULL, `createTime` varchar(255) DEFAULT NULL, `favorite` varchar(255) DEFAULT NULL, `share` varchar(255) DEFAULT NULL, `url` varchar(255) DEFAULT NULL, `ddata` varchar(255) DEFAULT NULL, `add_date` int(11) DEFAULT 0, PRIMARY KEY (`id`), KEY `add_date` (`add_date`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
后来把add_date改成str了:
ss = time.strftime('%Y-%m-%d %H:%M:%S',time.localtime(time.time())) print(type(ss)) print(ss)
<class 'str'> 2017-04-23 11:39:48 Process finished with exit code 0
贴上日期转化的内容:
''' strftime(format[, tuple]) -> string 将指定的struct_time(默认为当前时间),根据指定的格式化字符串输出 python中时间日期格式化符号: %y 两位数的年份表示(00-99) %Y 四位数的年份表示(000-9999) %m 月份(01-12) %d 月内中的一天(0-31) %H 24小时制小时数(0-23) %I 12小时制小时数(01-12) %M 分钟数(00=59) %S 秒(00-59) '''
日期部分来源:http://www.cnblogs.com/wanpython/archive/2010/08/13/1798738.html
感兴趣可以去查看更详细内容