1.JavaScript Object Notation JSON


1.JSON 官方介绍 http://www.json.org/json-zh.html

2.json1.py

import json
data='''
{
"name":"Chuck",
"phone":
{
"type":"intl",
"number":"+1231231234"
},
"email":
{
"hide":"yes"
}
}'''
info =json.loads(data)
print'Name:',info["name"]
print'Hide:',info["email"]["hide"]
JSON represents data as nested “lists”and “dictionaries”
JOSN数据表现为嵌套的“列表”和“字典”
而XML数据表现为树

3.josn2.py

import json
input='''
[
{
"id":"001",
"x":"2",
"name":"dch"
},
{
"id":"007",
"x":"7",
"name":"zxc"
}
]'''
info =json.loads(input)#deserialize
print'User count:',len(info)
for item in info:
print'Name:',item['name']
print'Id:',item['id']
print'X:',item['x']

2.Service Oriented Approach SOA 服务导向架构


1.什么是SOA

SOA是一种架构模型,由网站服务技术等标准化组件组成,

目的是为企业、学校或提供网络服务单位建构一个具弹性、可重复使用的整合性接口,

促进内外部应用程序、用户、与部门等的沟通,提升网络服务。

3.Accessing APIs in Python


1.API Application Program Interface

2.Web Service Technologies

3.Google Geocoding

http://maps.googleapis.com/maps/api/geocode/json?sensor=false&address=Ann+Arbor%2C+MI

{
"results":[
{
"address_components":[
{
"long_name":"安娜堡",
"short_name":"安娜堡",
"types":["locality","political"]
},
{
"long_name":"沃什特瑙郡",
"short_name":"沃什特瑙郡",
"types":["administrative_area_level_2","political"]
},
{
"long_name":"密歇根州",
"short_name":"MI",
"types":["administrative_area_level_1","political"]
},
{
"long_name":"美国",
"short_name":"US",
"types":["country","political"]
}
],
"formatted_address":"美国密歇根州安娜堡",
"geometry":{
"bounds":{
"northeast":{
"lat":42.3239728,
"lng":-83.6758069
},
"southwest":{
"lat":42.222668,
"lng":-83.799572
}
},
"location":{
"lat":42.2808256,
"lng":-83.7430378
},
"location_type":"APPROXIMATE",
"viewport":{
"northeast":{
"lat":42.3239728,
"lng":-83.6758069
},
"southwest":{
"lat":42.222668,
"lng":-83.799572
}
}
},
"place_id":"ChIJMx9D1A2wPIgR4rXIhkb5Cds",
"types":["locality","political"]
}
],
"status":"OK"
}
geojson.py
import urllib
import json
serviceurl ='http://maps.googleapis.com/maps/api/geocode/json?'
#http://maps.googleapis.com/maps/api/geocode/json?sensor=false&address=Ann+Arbor%2C+MI
whileTrue:
address = raw_input('Enter location: ')
if len(address)<1:break
url = serviceurl + urllib.urlencode({'sensor':'false','address': address})
print'Retrieving', url
# file method successd
my_file=open("C:\Users\DUANCHENGHUA\Desktop\json","r")
data=my_file.read()
# url method failed open
'''
uh = urllib.urlopen('http://maps.googleapis.com/maps/api/geocode/json?sensor=false&address=ChongQing%2CChina')
data = uh.read()
'''
try: js = json.loads(str(data))
except: js =None
if'status'notin js or js['status']!='OK':
print'==== Failure To Retrieve ===='
print data
continue
print json.dumps(js, indent=4)
lat = js["results"][0]["geometry"]["location"]["lat"]
lng = js["results"][0]["geometry"]["location"]["lng"]
print'lat',lat,'lng',lng
location = js['results'][0]['formatted_address']
print location
用urlopen打不开,所以我是直接将该json文件下载到本地进行fileopen

4.API Security and Rate Limiting

Words:

IT Information Technology、retrieve 检索

Python Web-第六周-JSON and the REST Architecture(Using Python to Access Web Data)的更多相关文章

  1. Python 爬虫十六式 - 第一式:HTTP协议

    HTTP:伟大而又无闻的协议 学习一时爽,一直学习一直爽!   Hello,大家好啊,我是Connor,一个从无到有的技术小白.有的人一说什么是HTTP协议就犯愁,写东西的时候也没想过什么是HTTP协 ...

  2. Python爬虫十六式 - 第三式:Requests的用法

    Requests: 让 HTTP 服务人类 学习一时爽,一直学习一直爽   Hello,大家好,我是Connor,一个从无到有的技术小白.今天我们继续来说我们的 Python 爬虫,上一次我们说到了 ...

  3. Python 爬虫十六式 - 第二式:urllib 与 urllib3

    Python请求标准库 urllib 与 urllib3 学习一时爽,一直学习一直爽!   大家好,我是 Connor,一个从无到有的技术小白.上一次我们说到了什么是HTTP协议,那么这一次我们就要动 ...

  4. 【ASP.NET Web API教程】6.2 ASP.NET Web API中的JSON和XML序列化

    谨以此文感谢关注此系列文章的园友!前段时间本以为此系列文章已没多少人关注,而不打算继续下去了.因为文章贴出来之后,看的人似乎不多,也很少有人对这些文章发表评论,而且几乎无人给予“推荐”.但前几天有人询 ...

  5. Asp.Net Web API 2第十三课——ASP.NET Web API中的JSON和XML序列化

    前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok/p/3446289.html 本文描述ASP.NET W ...

  6. ASP.NET Web API中的JSON和XML序列化

    ASP.NET Web API中的JSON和XML序列化 前言 阅读本文之前,您也可以到Asp.Net Web API 2 系列导航进行查看 http://www.cnblogs.com/aehyok ...

  7. Python 爬虫十六式 - 第六式:JQuery的假兄弟-pyquery

    PyQuery:一个类似jquery的python库 学习一时爽,一直学习一直爽   Hello,大家好,我是 Connor,一个从无到有的技术小白.上一次我们说到了 BeautifulSoup 美味 ...

  8. Python 爬虫十六式 - 第七式:正则的艺术

    RE:用匹配来演绎编程的艺术 学习一时爽,一直学习一直爽   Hello,大家好,我是 Connor,一个从无到有的技术小白.上一次我们说到了 pyquery 今天我们将迎来我们数据匹配部分的最后一位 ...

  9. Python爬虫十六式 - 第四式: 使用Xpath提取网页内容

    Xpath:简单易用的网页内容提取工具 学习一时爽,一直学习一直爽 !   Hello,大家好,我是Connor,一个从无到有的技术小白.上一次我们说到了 requests 的使用方法.到上节课为止, ...

随机推荐

  1. 从细菌GFF文件提取CDS序列并转换为氨基酸序列

    最近在上生物信息学原理,打算记录一些课上的作业.第一次作业:如题. 基本思路: 1.从GFF中读取CDS的起始终止位置以及正负链信息.GFF格式见http://blog.sina.com.cn/s/b ...

  2. Asp.Net Core MailKit 完美附件(中文名、长文件名)

    最近在使用MailKit组件发送邮件,看了一些博客其实还是蛮简单的,但是发送附件的时候却产生了不小的问题,附件的中文名字是乱码的,或者附件的名字过长就会无效,附件的名字在QQ邮箱中会变成类似 tcmi ...

  3. c# Nlog 非xml cs方法配置

    public static void InitLog(TargetWithLayout target = null, string level = "Debug", string ...

  4. python3加密解密模块 cryptography

    cryptography 的目标是成为"人类易于使用的密码学包cryptography for humans",就像 requests 是"人类易于使用的 HTTP 库H ...

  5. WPF: WPF 中的 Triggers 和 VisualStateManager

    在之前写的这篇文章 WPF: 只读依赖属性的介绍与实践 中,我们介绍了在 WPF 自定义控件中如何添加只读依赖属性,并且使其结合属性触发器 (Trigger) 来实现对控件样式的改变.事实上,关于触发 ...

  6. react小结

    react基础小结 1. 例子 import React from 'react' import { render } from 'react-dom' // 定义组件 class Hello ext ...

  7. 高仿QQ Xplan的H5页面

    概述 这个h5的主要玩法很简单:地球自转的时候会播放背景音乐(比如海浪声),为了找到这个声音是从哪个地球上哪个地方传来的,需要长按下方的按钮,这时地球会自动转动到目标地点,然后镜头拉近,穿过云层,最后 ...

  8. error: Autoconf version 2.67 or higher is required

    error: Autoconf version 2.67 or higher is required 今天linux下遇到这种错误,顺便记录下来. #rpm -qf /usr/bin/autoconf ...

  9. 免费 Https 证书(Let's Encrypt)申请与配置

    之前要申请免费的 https 证书操作步骤相当麻烦,今天看到有人在讨论,就搜索了一下.发现现在申请步骤简单多了. 1. 下载 certbot git clone https://github.com/ ...

  10. ps删除或覆盖内容

    除了选区删除.复制选区内容覆盖之外另外一种方法. 删掉字母"PS": 1. 矩形框选工具在字母上方画出选区 2. Ctrl+T,并拖拽底部以覆盖字母 3. 完成