This tutorial is copied from youtube.com

I uploaded it to youku.com

Hope you guys enjoy it.

And here is the source codes:

Take notice of the list comprehensions :

[v for k, v in something.items() if type(v)==unicode and v!='ok']

下面的是在python promote 里面做的。

alex@universe ~/sandbox/env_27_bottle/bottle_json $ ../bin/python

Python2.7.3 (default, Apr 10 2013, 06:20:15)

[GCC4.6.3] on linux2

Type"help", "copyright", "credits" or "license" formore information.>>> importurllib>>> importjson>>> urllib.urlopen('http://www.similarsitesearch.com/api/similar/ebay.com').read()'{"num":20,"status":"ok","r0":"http:\\/\\/us.ebid.net\\/","r1":"http:\\/\\/www.auctionzip.com\\/","r2":"http:\\/\\/www.propertyroom.com\\/","r3":"http:\\/\\/www.trademe.co.nz\\/","r4":"http:\\/\\/www.bidspotter.com\\/","r5":"http:\\/\\/www.bidcactus.com\\/","r6":"http:\\/\\/www.purplewave.com\\/","r7":"http:\\/\\/www.beezid.com\\/","r8":"http:\\/\\/www.cqout.com\\/","r9":"http:\\/\\/www.shopgoodwill.com\\/","r10":"http:\\/\\/www.ha.com\\/","r11":"http:\\/\\/www.rasmus.com\\/","r12":"http:\\/\\/www.webidz.com\\/","r13":"http:\\/\\/www.ebay.co.uk\\/","r14":"http:\\/\\/online-auction-sites.toptenreviews.com\\/","r15":"http:\\/\\/www.policeauctions.com\\/","r16":"http:\\/\\/www.quibids.com\\/","r17":"http:\\/\\/www.icollector.com\\/","r18":"http:\\/\\/www.ioffer.com\\/","r19":"http:\\/\\/www.auctionlotwatch.co.uk\\/"}'

>>> json.loads( urllib.urlopen('http://www.similarsitesearch.com/api/similar/ebay.com').read() )

{u'r16': u'http://www.quibids.com/', u'num': 20, u'status': u'ok', u'r17': u'http://www.icollector.com/', u'r14': u'http://online-auction-sites.toptenreviews.com/', u'r15': u'http://www.policeauctions.com/', u'r12': u'http://www.webidz.com/', u'r13': u'http://www.ebay.co.uk/', u'r10': u'http://www.ha.com/', u'r11': u'http://www.rasmus.com/', u'r18': u'http://www.ioffer.com/', u'r19': u'http://www.auctionlotwatch.co.uk/', u'r4': u'http://www.bidspotter.com/', u'r5': u'http://www.bidcactus.com/', u'r6': u'http://www.purplewave.com/', u'r7': u'http://www.beezid.com/', u'r0': u'http://us.ebid.net/', u'r1': u'http://www.auctionzip.com/', u'r2': u'http://www.propertyroom.com/', u'r3': u'http://www.trademe.co.nz/', u'r8': u'http://www.cqout.com/', u'r9': u'http://www.shopgoodwill.com/'}

>>> [v for k, v in json.loads( urllib.urlopen('http://www.similarsitesearch.com/api/similar/ebay.com').read() ).items() ]

[u'http://www.quibids.com/', 20, u'ok', u'http://www.icollector.com/', u'http://online-auction-sites.toptenreviews.com/', u'http://www.policeauctions.com/', u'http://www.webidz.com/', u'http://www.ebay.co.uk/', u'http://www.ha.com/', u'http://www.rasmus.com/', u'http://www.ioffer.com/', u'http://www.auctionlotwatch.co.uk/', u'http://www.bidspotter.com/', u'http://www.bidcactus.com/', u'http://www.purplewave.com/', u'http://www.beezid.com/', u'http://us.ebid.net/', u'http://www.auctionzip.com/', u'http://www.propertyroom.com/', u'http://www.trademe.co.nz/', u'http://www.cqout.com/', u'http://www.shopgoodwill.com/']

>>> [v for k, v in json.loads( urllib.urlopen('http://www.similarsitesearch.com/api/similar/ebay.com').read() ).items() if type(v)==unicode and v!='ok']

[u'http://www.quibids.com/', u'http://www.icollector.com/', u'http://online-auction-sites.toptenreviews.com/', u'http://www.policeauctions.com/', u'http://www.webidz.com/', u'http://www.ebay.co.uk/', u'http://www.ha.com/', u'http://www.rasmus.com/', u'http://www.ioffer.com/', u'http://www.auctionlotwatch.co.uk/', u'http://www.bidspotter.com/', u'http://www.bidcactus.com/', u'http://www.purplewave.com/', u'http://www.beezid.com/', u'http://us.ebid.net/', u'http://www.auctionzip.com/', u'http://www.propertyroom.com/', u'http://www.trademe.co.nz/', u'http://www.cqout.com/', u'http://www.shopgoodwill.com/']

可以参考下面我写的全文:

这里是全部写好的源代码:

还没有做错误处理,比如说用户输入的网站有问题,还有,用户的internet 没有链接上。

以后可以在except 里面着重强调一下。

先上代码为快:

'''To search similar site

For example:

$python parseJson.py ebay.com

This will return a result like this blow:

[u'http://www.quibids.com/', u'http://www.icollector.com/', ... ]

Coded by Spaceship9'''

importurllibimportjsonfrom os importsysdefsearchSite(site):'''To return those similar sites which are the same as the variable site'''

try:#the variable site in this case should be like this

#It is a website domain name

#For instance: ebay.com

#To open the URL

#This will return a socket._fileobject which would look like

#>

site = 'http://www.similarsitesearch.com/api/similar/' +site

tmp=urllib.urlopen(site)#To get all the content of the response

#In this case, we will get a JSON-like dictionary object

#It would look like

#'{"num":20,"status":"ok","r0":"http:\\/\\/us.ebid.net\\/","r1":"http:\\/\\/www.auctionzip.com\\/", ... }'

tmp =tmp.read()#Here the http:\\/\\/us.ebid.net\\/ refers to http://...

#Now we are going to make it be like http://

#To make it be a JSON object in python, which is in a format of dictionary in this case

tmp =json.loads(tmp)#Now print them out using list comprehension

#under some conditions

return [ v for k,v in tmp.items() if type(v)==unicode and v!='ok']except:return "Please check your internet connect or the website spelling :)"

if __name__ == "__main__":if len(sys.argv[:])==2:print searchSite(sys.argv[1])else:print "Please input one site every time you want to search. :)"

当然吧上面的代码全部写道一行里面,也不是不行,是可以的。但是觉得是没有必要的。看起来太负责。之所以分开写,是为了便于理解。

下面是效果图。可以看一下

一个比较简单的输出网站相似的功能。使用的是别的网站的API,很好用的说,是JSON版的哈哈。

这里,用来查看帮助:

弄得像个样子,呵呵。可以做一个简单的搜索同类网站的小程序了。还不错吧。

Hv Fun

Happy Coding

python tutorial json_Python Tutorial - Parse JSON Objects with Python相关推荐

  1. python打印json_Python漂亮打印JSON

    python打印json We can use the Python json module to pretty-print the JSON data. 我们可以使用Python json模块漂亮地 ...

  2. Python Parse JSON –转储,加载

    In this tutorial we will be discussing on Python JSON; how to encode and decode JSON data using pyth ...

  3. python生成json_Python JSON 教程

    Python JSON 教程 本文我们通过示例学习python中解析.读取和写入json.同时也涉及到转换json至字典和格式化打印. 1. json 介绍 JSON (JavaScript Obje ...

  4. python处理json_Python处理JSON

    Python处理JSON (如果阅读效果不佳,可戳这里) 概念 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON.XML等.反序列 ...

  5. python解析json_python解析json文件

    概念 序列化(Serialization):将对象的状态信息转换为可以存储或可以通过网络传输的过程,传输的格式可以是JSON.XML等.反序列化就是从存储区域(JSON,XML)读取反序列化对象的状态 ...

  6. python操作json_Python学习之利用Python处理JSON格式数据

    最近在研究利用zabbix的自动发现功能来监控一台服务器上的多个Redis端口.网上有篇文章写个Python程序来发现Redis端口并显示成JSON格式.这里就学习下Python如何处理JSON格式数 ...

  7. python自动解析json_Python语言解析JSON详解

    本文主要向大家介绍了Python语言解析JSON详解,通过具体的内容向大家展示,希望对大家学习Python语言有所帮助. JSON 函数使用 JSON 函数需要导入 json 库:import jso ...

  8. python生成json_Python 生成json文件

    原博文 2018-04-12 17:00 − 1.数据准备 数据下载 2.python代码 import datetime import os import mssqlhelper ms = mssq ...

  9. python生成json_python之生成多层json结构的实现

    网上关于生成多层json结构的比较少,基本都是关于添加元素,解析,怎么转化为json之类的 下面就以文章信息的json为基础来构建多层json. 生成最基本的一个json: import json a ...

最新文章

  1. 不支持打开非业务域名htts:....请重新配置
  2. 谁说程序员干到 35 岁就不行了?
  3. android服务的原理,Android学习笔记:IntentService
  4. How many levels are there at the in the digital transformation?
  5. c++11-template template Parameter
  6. Nginx的应用之安装配置
  7. 计算机怎么清空d盘内容,电脑怎么样清理D盘。
  8. 计算机系统u盘判断,U盘真实容量检测工具
  9. canvas制作呼吸灯
  10. ARP协议(2)ARP协议格式详解
  11. swift 框架大全
  12. k-means+python︱scikit-learn中的KMeans聚类实现( + MiniBatchKMeans)
  13. 上海市四金和税的算法
  14. python时间函数纳秒_在Python中以秒和纳秒获取POSIX / Unix时间?
  15. html5中float的用法,float的用法总结大全
  16. 大厂钟爱的全链路压测有什么意义?四种压测方案详细对比分析
  17. matlab设置坐标数值,Matlab中描点及坐标设置相关
  18. 跟着团子学SAP PPM-项目组合概览-项目组合结构
  19. 统计学专业综合【个人笔记】
  20. Android6 M Dialer完全总结

热门文章

  1. 74HC245三态输出八路信号收发器
  2. windows如何远程桌面mac
  3. 局域网bs虚拟服务器怎么创建,搭建局域网地图服务器
  4. 如何将应用隐藏成一个计算机,局域网中如何隐藏自己的计算机
  5. 为什么低代码治好了CIO们的 “精神内耗” ?
  6. 网渲显示服务器错误,网络渲染疑难解答指南 | 3ds Max 2021 | Autodesk Knowledge Network...
  7. 高空核爆与雷电电磁脉冲特征及能量吸收技术(摘要)
  8. 微博爬虫及舆情分析-3.文本清理与制作词云
  9. 解决: Error Code: 2013. Lost connection to MySQL server during query
  10. 怎么将不可编辑的英文PDF文档翻译成中文