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. 使用Openresty加快网页速度

    新年快乐~~~ 上一篇文章讲到使用多级缓存来减少数据库的访问来加快网页的速度,只是,仍旧没有"嗖"一下就加载出来的感觉,想再优化一下,优化代码什么的已经到了极限.上周无意中看到了o ...

  2. python函数4种类型及函数生成帮助文档

    Pyouthon中函数参数是引用传递(注意不是值传递). 对于不可变类型,因变量不能修改,所以运算不会影响到变量自身: 而对于可变类型来说,函数体中的运算有可能会更改传入的参数变量. a += a   ...

  3. React项目模板-从项目搭建到部署

    前一段时间做了一个小项目,时间比较紧,就一个人月.最终希望能够通过微信公众号链接启动应用. 项目的业务细节就不多说了,主要是想分享一下做这个项目技术方面的一些经验. 技术选型 参考范围大致三种:Ang ...

  4. yii2 源码分析Action类分析 (六)

    Action类是控制器的基类, <?php namespace yii\base; use Yii; /** * Action是所有控制器动作类的基类,它继承组件类 * * 动作提供了重用动作方 ...

  5. fifteen-puzzle

    http://www.math.ubc.ca/~cass/courses/m308-02b/projects/grant/fifteen.html http://jamie-wong.com/2011 ...

  6. Ajax简单总结

    Ajax=异步JS和XML: 主要是局部的数据更新,即不需要刷新整个页面: 首先,需要新建一个XMLHttpRequest对象[这里注意如果是ie7以下的就是创建ActiveXObject]: var ...

  7. kubernetes 集群的安装部署

    本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: 首先kubernetes得官方文档我自己看着很乱,信息很少, ...

  8. CodeForces 586D

    题意略. 将人的移动分为3步,第一步向右,第二步是行之间的变换,第三步是向右走2步,三步加在一起算作是一次移动,计入判重数组. 在第一步时有一个特殊情况:已经越过最右边的边界线,这时graph[x][ ...

  9. 听闰土大话前端之ES6是怎么来的

    前言 相信做前端的朋友没有不知道ECMAScript6的,都知晓ES6新增了不少新的特性,但是你知道ES6是怎么来的吗?今天就让闰土来带大家大话ES6的前世今生.当然了,这篇文章会以扫盲为主,科普为辅 ...

  10. (一)《Maven实战》读书笔记 —— Maven简介

    第一章:Maven简介 一.何为Maven? Maven这个词可以翻译为"知识的积累",本书将介绍Maven这一跨平台的项目管理工具.作为Apache组织中的一个个颇为成功的开源项 ...