json和jsonpath应用

  • json简单说就是javascript中的对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构
  • JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript, Python, PHP 和 Java
  • JsonPath 对于 JSON 来说,相当于 XPATH 对于 XML
# -*- coding:utf-8 -*-

import json
import jsonpath
import urllib2

class Json():
    def __init__(self):
        self.url = "http://www.lagou.com/lbs/getAllCitySearchLabels.json"

    def get_json(self):
        headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10.13; rv:56.0)'}
        request = urllib2.Request(self.url,headers=headers)
        response = urllib2.urlopen(request)
        html = response.read()
        jsonobj = json.loads(html)
        # 获取城市名称
        namelist = jsonpath.jsonpath(jsonobj,'$..name')
        for name in namelist:
            print(name)

        # 把列表存储为字符串
        nametext = json.dumps(namelist,ensure_ascii=False)
        with open('name.txt','a') as file:
            file.write(nametext.encode("utf-8"))
            file.close


if __name__ == "__main__":
    jsono = Json()
    jsono.get_json()

你可能感兴趣的:(json和jsonpath应用)