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. BZOJ 3998: [TJOI2015]弦论 [后缀自动机 DP]

    3998: [TJOI2015]弦论 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 2152  Solved: 716[Submit][Status] ...

  2. Windows Server 2016-重命名域控制器

    当公司发展到一定规模或者信息化建设到一定程度的情况下,很多信息化规范出台:很多初期服务器搭建包括服务搭建等计算机名等都是按照默认或者随机命名的,不便于区分业务或服务等.通过前边的章节我们对Active ...

  3. 【Tools】Pycharm 2018专业版 linux安装教程 附2018专业版密钥

    Linux安装pycharm2018专业版 1. 下载安装包 Pycharm下载地址:http://www.jetbrains.com/pycharm/download/ 2.终端打开你的安装包所在路 ...

  4. Spring bean的生命周期详解

    bean的生命周期1.实例化bean 即new2.按照spring上下文对实例化的bean进行配置 即填充属性,也就是IOC/DI(控制反转,依赖注入)3.如果这个bean实现了BeanNameAwa ...

  5. vagrant启动报错The following SSH command responded with a no

    vagrant package打包生成box,以这个box为基础模板,打造vagrant环境,启动vagrant报错 angel:vagrant $ vagrant up Bringing machi ...

  6. Linux下的压力测试工具:ab、http_load、webbench、siege

    一.ab 1.1 介绍 ab是apache自带的一款功能强大的测试工具.      安装了apache一般就自带了. 1.2 下载 同apache. 1.3 安装 同apache. 1.4 安装结果 ...

  7. 谈谈语音通信中的各种tone

    今天谈的这个主题(tone)存在于我们的日常打电话过程中.先举两个场景:1,你拿起固话话筒准备打电话,按电话号码前先从话筒里听到"嗡"的连续音,这叫dial tone(拨号音,表示 ...

  8. [Uva10601]Cubes

    [Uva10601]Cubes 标签: 置换 burnside引理 题意 给你12跟长度相同的小木棍,每个小木棍有一个颜色.统计他们能拼成多少种不同的立方体.旋转后相同的立方体认为是相同的. 题解 这 ...

  9. [工具]Microsoft To-Do,简约还是简陋?

    1. 简介 微软收购奇妙清单后,由奇妙清单的原班人马打造了一个全新的待办事项应用,就叫"To-Do"(简单粗暴,好像新浪微博直接就叫"微博"的感觉).这个应该刚 ...

  10. applicationContext.xml最基本配置文件

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...