zoukankan      html  css  js  c++  java
  • Python爬虫进阶——JsonPath使用案例


    如果一个网站采用前端渲染,那么这个网站的前端会访问后端的一些接口,然后拿到后端向前端返回的数据(一般都是Json类型,Json对象的本质其实是一个bytes字节流,但我们可以通过转码的方式,把它转成str),再把Json数据交给JS,JS对其进行解析,最终渲染页面。
    这就是前端渲染的一个流程。
    很多商城网站都会这样做,因为可以减缓服务器的压力。


    那对于我们爬虫开发来说,如果我们拿到了后端向前端返回的JSon数据,我们又该如何对它进行解析呢?

    Json与Python的区别

    Json Python
    null None
    true True
    false False

    将Json数据转换成Python数据

    • 导入json库,并生成python_data:
    import json
    
    python_data = [
        {
            'username': 'name1',
            'vip': True,
        },
        {
            'username': None,
            'vip': False,
        },
    ]
    
    • dumps:
    # dumps 用于把Python对象转换成Json对象
    json_data = json.dumps(python_data)
    print(json_data)
    print(type(json_data))
    

    输出如下:
    在这里插入图片描述

    • loads:
    # loads 用于把Json对象转换成Python对象
    python_data2 = json.loads(json_data)
    print(python_data2)
    print(type(python_data2))
    

    输出如下:
    在这里插入图片描述

    • dump:
    # dump 把Python类型的数据转化成Json类型的字符串,然后保存到本地
    json.dump(python_data,open('json.txt', 'w'))
    

    输出如下:
    在这里插入图片描述

    • load:
    # load 用于读取本地的json数据,并转换成Python对象
    python_data2 = json.load(open('json.txt'))
    print(python_data2)
    

    输出如下:
    在这里插入图片描述



    为我心爱的女孩~~


  • 相关阅读:
    就是要让你彻底学会 @Bean 注解
    Redis持久化深入理解
    设计模式内容聚合
    多线程高并发内容聚合
    实战分析:事务的隔离级别和传播属性
    28个Java开发常用规范技巧总结
    面试官:你了解过Redis对象底层实现吗
    几个高逼格 Linux 命令!
    Spring核心(IoC) 入门解读
    Python Beautiful Soup模块的安装
  • 原文地址:https://www.cnblogs.com/WoLykos/p/12095170.html
Copyright © 2011-2022 走看看