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)
    

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



    为我心爱的女孩~~


  • 相关阅读:
    删除购物车列表页面商品
    购物车页面修改数量功能实现
    cookie来实现购物车功能
    wxWidgets学习计划
    正则校验表达式
    Vue组件间的参数传递与Vue的路由实现
    Vue实现数据双向绑定的原理
    Vue的生命周期
    对于mvvm的理解
    vue+axios 前端实现登录拦截的两种方式(路由拦截、http拦截)
  • 原文地址:https://www.cnblogs.com/WoLykos/p/12095170.html
Copyright © 2011-2022 走看看