深入分析python数据挖掘 Json结构分析


Posted in Python onApril 21, 2018

深入分析python数据挖掘 Json结构分析

json是一种轻量级的数据交换格式,也可以说是一种配置文件的格式

深入分析python数据挖掘 Json结构分析

这种格式的文件是我们在数据处理经常会遇到的

python提供内置的模块json,只需要在使用前导入即可

深入分析python数据挖掘 Json结构分析 

你可以通过帮助函数查看json的帮助文档

深入分析python数据挖掘 Json结构分析

json常用的方法有load、loads、dump以及dumps,这个都属于python初级,我不做过多解释

json可以结合数据库一起使用,在这以后要处理大量数据时非常有用

下面我们正式来利用数据挖掘对json文件进行处理

现在很多网站都运用了Ajax,所以一般很多都是XHR文件

通过这里我想利用一个地图网站来演示

深入分析python数据挖掘 Json结构分析

我们通过浏览器的调试获取了相关url

https://ditu.amap.com/service/poiInfo?id=B001B0IZY1&query_type=IDQ

下面我们通过requests模块中的get方法,模拟浏览器发出的http请求,并返回的到的结果对象

代码如下

# coding=utf-8
__Author__ = "susmote"

import requests
url = "https://ditu.amap.com/service/poiInfo?id=B001B0IZY1&query_type=IDQ"

resp = requests.get(url)
print(resp.text[0:200])

在终端中运行结果如下

深入分析python数据挖掘 Json结构分析

数据已经获取到了,但是为了接下来能使用这些数据,我们需要利用json模块对这些数据进行分析

代码如下

import requests
import json

url = "https://ditu.amap.com/service/poiInfo?id=B001B0IZY1&query_type=IDQ"

resp = requests.get(url)

json_dict = json.loads(resp.text)

print(type(json_dict))

print(json_dict.keys())

简单讲一下上面的代码:

导入json模块,然后调用loads方法,将返回的文本作为方法的参数传入 

在终端中运行结果如下 

深入分析python数据挖掘 Json结构分析

 可以看出,转换的结果是与json字符串对应的字典,因为type(json_dict)返回的是<class 'dict'>

因为对象是一个字典,所以我们可以调用字典的方法,在这里我们调用的就是keys方法

结果返回三个键,即status、searcOpt、data

下面我们来查看data键里面的数据

import requests
import json

url = "https://ditu.amap.com/service/poiInfo?id=B001B0IZY1&query_type=IDQ"

resp = requests.get(url)

json_dict = json.loads(resp.text)

print(json_dict['data'])

下面在终端中运行这一段代码

深入分析python数据挖掘 Json结构分析

可以看到里面有很多我们需要的数据,如 

深入分析python数据挖掘 Json结构分析

不一一标出,通过跟网页显示的相比较,就能清楚哪些是有用的了

下面我们通过代码获取有用的信息,把它清晰的输出

# coding=utf-8
__Author__ = "susmote"

import requests
import json

url = "https://ditu.amap.com/service/poiInfo?id=B001B0IZY1&query_type=IDQ"

resp = requests.get(url)

json_dict = json.loads(resp.text)

data_dict = json_dict['data']

data_list = data_dict['poi_list']

dis_data = data_list[0]

print('城市: ', dis_data['cityname'])
print('名称: ', dis_data['name'])
print('电话: ', dis_data['tel'])
print('区号: ', dis_data['areacode'])
print('地址: ', dis_data['address'])
print('经度: ', dis_data['longitude'])
print('纬度: ', dis_data['latitude'])

 因为返回的是一个字典,通过对文件结构的研究,字典中嵌套着列表,列表中又嵌套着字典,通过层层解套,成功获取数据

我这里把步骤分开列出了,所以你会看的更加清楚

下面我们通过终端运行程序,获取我们想要的信息 

深入分析python数据挖掘 Json结构分析

是不是非常简单了,这个程序可以作为一个模版,获取其他地方的信息时只需要改一个url即可

例如以下几个范例

北京大学 

深入分析python数据挖掘 Json结构分析

 

或者是腾讯大厦

深入分析python数据挖掘 Json结构分析

数据挖掘是没有尽头的,希望大家多分析数据,找到你想要的数据

Python 相关文章推荐
python使用PyV8执行javascript代码示例分享
Dec 04 Python
Python设计模式之观察者模式实例
Apr 26 Python
浅析Git版本控制器使用
Dec 10 Python
python读取xlsx的方法
Dec 25 Python
在pycharm中设置显示行数的方法
Jan 16 Python
pycharm远程开发项目的实现步骤
Jan 20 Python
详解Python logging调用Logger.info方法的处理过程
Feb 12 Python
python射线法判断检测点是否位于区域外接矩形内
Jun 28 Python
10款最好的Python开发编辑器
Jul 03 Python
Python通过zookeeper实现分布式服务代码解析
Jul 22 Python
python 匿名函数与三元运算学习笔记
Oct 23 Python
Python爬虫之自动爬取某车之家各车销售数据
Jun 02 Python
Python编程中NotImplementedError的使用方法
Apr 21 #Python
python 通过字符串调用对象属性或方法的实例讲解
Apr 21 #Python
python 限制函数调用次数的实例讲解
Apr 21 #Python
python装饰器-限制函数调用次数的方法(10s调用一次)
Apr 21 #Python
对Python中的@classmethod用法详解
Apr 21 #Python
python3+dlib实现人脸识别和情绪分析
Apr 21 #Python
Python通过属性手段实现只允许调用一次的示例讲解
Apr 21 #Python
You might like
随时给自己贴的图片加文字的php水印
2007/03/16 PHP
yii框架通过控制台命令创建定时任务示例
2014/04/30 PHP
Laravel 验证码认证学习记录小结
2019/12/20 PHP
jQuery AJAX实现调用页面后台方法和web服务定义的方法分享
2012/03/01 Javascript
Jquery动态进行图片缩略的原理及实现
2013/08/13 Javascript
使用jquery.validate自定义方法实现&quot;手机号码或者固话至少填写一个&quot;的逻辑验证
2014/09/01 Javascript
node.js中的console.error方法使用说明
2014/12/10 Javascript
信息页文内画中画广告js实现代码(文中加载广告方式)
2016/01/03 Javascript
浅谈javascript中的加减时间
2016/07/12 Javascript
Angular 中 select指令用法详解
2016/09/29 Javascript
Bootstrap实现圆角、圆形头像和响应式图片
2016/12/14 Javascript
js实现简单数字变动效果
2017/11/06 Javascript
JavaScript ES6箭头函数使用指南
2018/12/30 Javascript
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
2019/05/02 Javascript
javascript实现倒计时效果
2020/02/17 Javascript
Nodejs文件上传、监听上传进度的代码
2020/03/27 NodeJs
[01:17]炒鸡美酒第四天TA暴走
2018/06/05 DOTA
python中cPickle用法例子分享
2014/01/03 Python
python多线程抓取天涯帖子内容示例
2014/04/03 Python
Python中使用OpenCV库来进行简单的气象学遥感影像计算
2016/02/19 Python
python用户评论标签匹配的解决方法
2018/05/31 Python
Tensorflow加载预训练模型和保存模型的实例
2018/07/27 Python
Python3.5常见内置方法参数用法实例详解
2019/04/29 Python
pymysql模块的操作实例
2019/12/17 Python
python中with语句结合上下文管理器操作详解
2019/12/19 Python
canvas绘制树形结构可视图形的实现
2020/04/03 HTML / CSS
Soft Cotton捷克:来自爱琴海棉花的浴袍
2017/02/01 全球购物
英国花园药房: The Garden Pharmacy
2017/12/28 全球购物
英国电器零售商:PRC Direct
2018/06/21 全球购物
Molton Brown美国官网:奢华美容、香水、沐浴和身体护理
2020/09/02 全球购物
英语系本科生求职信范文
2013/12/18 职场文书
自我鉴定标准格式
2014/03/19 职场文书
基层党建工作宣传标语
2014/06/24 职场文书
python绘制箱型图
2021/04/27 Python
使用springboot暴露oracle数据接口的问题
2021/05/07 Oracle
Android开发之底部导航栏的快速实现
2022/04/28 Java/Android