前一阵吵的火热的12306用户数据泄露,还上了央视。
各种版本都流传出来了,有14M的,有18G的,有22G的。。。
本屌小水管,就下载了一个14M的,约13.1W数据,去重后12.9W数据。
PS:22G版本解压后是“葫芦娃”,23333,好吧,其实是CSDN的库
14M12306数据

言归正传,本人Python还属于刚入门的阶段,对数据库也是不很熟悉,刚开始写这个脚本的时候,mysql的编码问题着实令人蛋疼。

    
#!/usr/bin/env python
#-*-coding:utf-8-*-

'''
Author Bingo
Blog http://haobingo.com
'''
import MySQLdb

conn=MySQLdb.connect(host='127.0.0.1',user='root',passwd='',port=3306,charset='utf8')
cursor=conn.cursor()
cursor.execute('create database if not exists sgk')
cursor.execute('alter database sgk character set utf8')
conn.select_db('sgk')
cursor.execute('drop table if exists skg_12306')
cursor.execute('''create table skg_12306 (email varchar(20)  primary key, 
                    username varchar(20), 
                    password varchar(20), 
                    realname varchar(20), 
                    idcard varchar(18), 
                    tel varchar(13))''')
                    
f = open('12306.txt_OK.txt', 'r')
for line in f:
    note = line.split('----')
    email = note[0]
    password = note[1]
    realname = note[2]
    idcard = note[3]
    username = note[4]
    tel = note [5]
    print email , username , realname , idcard , password , tel 
    realname=realname.decode('GBK')
    cursor.execute('insert into skg_12306 (email,username,password,realname,idcard, tel)\
                    values (%s,%s,%s,%s,%s,%s)',\
                    [email,username,password,realname,idcard,tel])
    conn.commit()
f.close()
cursor.close()
conn.close()



入库
入库的脚本写的不好,希望有大牛指点一二。

附:Mysql中文乱码的解决方法
http://www.pc6.com/infoview/Article_63586.html

标签:12306, python, 入库, 脚本

已有 3 条评论

  1. 我今天看到恒创的那个免费吃火锅的活动,报名时间就这最后2天了,去吗?可以一起报名哦,先问问博主是不是在重庆的哦!!

    1. 你好!我不是重庆的呢,回复晚了,祝玩的愉快~

  2. 博主技术党啊

添加新评论