zoukankan      html  css  js  c++  java
  • python--爬虫之JSON于JsonPath

    JSON

    json的引入

    在python中json作为一个内建库不需要额外安装,只需要使用import json执行引入

    json模块的功能

    在python中json模块提供了四个功能:dumpsdumploadsload

    • json.loads()
      将json格式字符串编码转换为python对象。
    • json.dumps()
      把一个Python对象编码转换成Json字符串,json.dumps() 序列化时默认使用的ascii编码,如果想获取utf-8格式可以使用json.dumps(str, ensure_ascii=False)
    • json.dump()
      将Python内置类型序列化为json对象后写入文件json.dump(list, open("list.json","w"), ensure_ascii=False)
    • json.load()
      读取文件中json形式的字符串元素 转化成python类型json.load(open("list.json"))

    JsonPath

    JsonPath的引入

    首先使用pip安装pip install jsonpath,然后引入import jsonpath

    JsonPath的使用

    表达式 描述
    $ 根节点
    @ 现行节点
    .or[] 取子节点
    .. 不管位置,选择所有符合条件的对象
    * 匹配所有元素节点
    [] 迭代器标示(可以在里边做简单的迭代操作,如数组下标,根据内容选值等)
    [,] 支持迭代器中做多选。
    ?() 支持过滤操作.
    () 支持表达式计算

    实例

    from urllib.request import *
    import jsonpath
    import json
    
    url = 'http://www.lagou.com/lbs/getAllCitySearchLabels.json'
    header = {"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/71.0.3578.80 Safari/537.36"}
    request = Request(url, headers=header)
    response = urlopen(request)
    html = response.read()
    
    obj = json.loads(html)
    cityList = jsonpath.jsonpath(obj, '$..name')
    
    print(cityList)
    
  • 相关阅读:
    QF——UI之UIViewController
    QF——UI之几种常用的隐藏键盘的方法
    QF——UI之UIImageView及UIView的形变属性transform
    QF——iOS程序运行原理(APP的生命周期)
    QF——OC中的SEL类型和Block
    QF——OC内存管理详解
    QF——OC的多态,动态绑定及实现原理
    QF——OC中的KVC,KVO
    QF——OC数组
    QF——OC字符串
  • 原文地址:https://www.cnblogs.com/peilanluo/p/10411673.html
Copyright © 2011-2022 走看看