JSONpython
前文中我们把网络爬虫爬取的数据保存为json格式,但为了能够更方便地处理数据,我们希望把这些数据导入到mysql数据库中。phpmyadmin可以把mysql数据库中的数据导出为json格式文件,但却不能把json格式文件导入到mysql数据库。为了实现这个目标,可以编写python脚本将json格式数据转换为sql语句以便导入mysql数据库。
JSON文件tencent.json部分内容:
{"recruitNumber": "1", "name": "SD10-FPS俄语游戏海外PM(深圳)", "detailLink": "http://hr.tencent.com/position_detail.php?id=9587&keywords=&tid=0&lid=0", "publishTime": "2013-11-13", "catalog": "产品/项目类", "workLocation": "深圳"}
{"recruitNumber": "2", "name": "HY2-互动娱乐游戏网游财产安全运营专员(深圳)", "detailLink": "http://hr.tencent.com/position_detail.php?id=9482&keywords=&tid=0&lid=0", "publishTime": "2013-11-28", "catalog": "产品/项目类", "workLocation": "深圳"}
在phpMyadmin中创建数据库及表结构:
CREATE DATABASE itzhaopin;
CREATE TABLE IF NOT EXISTS `tencent` (`id` int(11) NOT NULL auto_increment,`name` varchar(512)default NULL,`catalog` varchar(64) default NULL,`workLocation` varchar(64) default NULL,`recruitNumber` varchar(64) default NULL,`detailLink` varchar(1024) default NULL,`publishTime` varchar(64) default NULL,PRIMARY KEY (`ID`)) ENGINE=MyISAMDEFAULT CHARSET=utf8 AUTO_INCREMENT=1;
#-*- coding: UTF-8 -*-import jsondata = []with open('itzhaopin/tencent.json') as f: for line in f: data.append(json.loads(line))#print json.dumps(data, ensure_ascii=False)str = "/r/n"for item in data: #print json.dumps(item) str = str + "insert into tencent(name,catalog,workLocation,recruitNumber,detailLink,publishTime) values " str = str + "('%s','%s','%s','%s','%s','%s');/r/n" % (item['name'],item['catalog'],item['workLocation'],item['recruitNumber'],item['detailLink'],item['publishTime'])import codecsfile_object = codecs.open('tencent.sql', 'w' ,"utf-8")file_object.write(str)file_object.close()print "success"执行该python脚本,在当前目录下将生成一个名为tencent.sql的文件,在phpMyadmin中导入并执行该文件,爬虫抓取的数据将导入MySQL数据库。
立即学习“Python免费学习笔记(深入)”;
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号