python数据挖掘_Json结构分析

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

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

python提供内置的模块json,只须要在使用前导入便可数据库

 

你能够经过帮助函数查看json的帮助文档json

 

 

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

json能够结合数据库一块儿使用,在这之后要处理大量数据时很是有用函数

 

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

如今不少网站都运用了Ajax,因此通常不少都是XHR文件url

经过3d

这里我想利用一个地图网站来演示调试

 

咱们经过浏览器的调试获取了相关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])

在终端中运行结果以下

 

数据已经获取到了,可是为了接下来能使用这些数据,咱们须要利用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方法,将返回的文本做为方法的参数传入 

在终端中运行结果以下 

 

 能够看出,转换的结果是与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'])

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

 

能够看到里面有不少咱们须要的数据,如 

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

 

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

# 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'])

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

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

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

 

是否是很是简单了,这个程序能够做为一个模版,获取其余地方的信息时只须要改一个url便可

例如如下几个范例

北京大学 

 

或者是腾讯大厦

 

数据挖掘是没有尽头的,但愿你们多分析数据,找到你想要的数据

 

个人博客 www.susmote.com

相关文章
相关标签/搜索