这篇文章主要讲解了Python爬虫JSON及JSONPath的代码实例详解,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
站在用户的角度思考问题,与客户深入沟通,找到武隆网站设计与武隆网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、网站制作、企业官网、英文网站、手机端网站、网站推广、域名申请、网络空间、企业邮箱。业务覆盖武隆地区。JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,它使得人们很容易的进行阅读和编写。同时也方便了机器进行解析和生成。适用于进行数据交互的场景,比如网站前台与后台之间的数据交互。
JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript, Python, PHP 和 Java。
JsonPath 对于 JSON 来说,相当于 XPATH 对于 XML。
JsonPath与XPath语法对比:
Json结构清晰,可读性高,复杂度低,非常容易匹配,下表中对应了XPath的用法。
相关推荐:《Python相关教程》
利用JSONPath爬取拉勾网上所有的城市
#!/usr/bin/env python # -*- coding:utf-8 -*- import urllib2 # json解析库,对应到lxml import json # json的解析语法,对应到xpath import jsonpath url = "http://www.lagou.com/lbs/getAllCitySearchLabels.json" headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.101 Safari/537.36'} request = urllib2.Request(url, headers = headers) response = urllib2.urlopen(request) # 取出json文件里的内容,返回的格式是字符串 html = response.read() # 把json形式的字符串转换成python形式的Unicode字符串 unicodestr = json.loads(html) # Python形式的列表 city_list = jsonpath.jsonpath(unicodestr, "$..name") #for item in city_list: # print item # dumps()默认中文为ascii编码格式,ensure_ascii默认为Ture # 禁用ascii编码格式,返回的Unicode字符串,方便使用 array = json.dumps(city_list, ensure_ascii=False) #json.dumps(city_list) #array = json.dumps(city_list) with open("lagoucity.json", "w") as f: f.write(array.encode("utf-8"))
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。