2019-nCov疫情实时趋势数据可视化Echarts学习(2):获取API数据接口后数据的清洗、处理及JSON标准格式的输出

简介: 2019-nCov疫情实时趋势数据可视化Echarts学习(2):获取API数据接口后数据的清洗、处理及JSON标准格式的输出

首先感谢Vam的金豆之路提供《【免费开源】2020年独家全球疫情大数据接口(实时获取)》,见https://blog.csdn.net/qq_39045645/article/details/104227764


项目需求描述:

1.获取API后数据分析,是否可以直接调用?答案:否。

2.数据是否需要清洗?答案:是。

3.如何清洗获取的API数据?答案:如下。


首先JSON概念的的明确:


JSON 名称/值对

JSON 数据的书写格式是:名称/值对。名称/值对包括字段名称(在双引号中),后面写一个冒号,然后是值:

"name" : "菜鸟教程"


JSON 对象

JSON 对象在大括号({})中书写,对象可以包含多个名称/值对:

{ "name":"菜鸟教程" , "url":"www.runoob.com" }


JSON 数组

JSON 数组在中括号中书写,数组可包含多个对象:

{ "sites": [ { "name":"菜鸟教程" , "url":"www.runoob.com" }, { "name":"google" , "url":"www.google.com" }, { "name":"微博" , "url":"www.weibo.com" } ] }


实际情况,我们都是在处理JSON数组,如果不是按照JSON标准格式来处理数据,会出现众多问题。这也是明确JSON概念的重要原因。


进入正文,下面是API数据处理的分解步骤:

一、用ajax获取数据源,并通过console.log查看数据:

    //使用$.get(),必须http服务器支持,无法本地访问;
    $.get('https://www.maomin.club/fy/get/', function (res, status) {
        /*1.读取数据,查看数据格式,按照需求进行数据清洗处理;*/
        console.log(res);
    })



为了提高效率,建议复制(copy)到自己熟悉的IDE中进行数据查看:



二、查看可知道,这是一组非标准的JSON数据,无法直接输出和调用,主要的问题集中在头部和尾部有描述性的代码。

头部代码:

var V = V || {};V.activity_name = "newpneumonia";V.page_name = "newpneumonia";V.template_name = "empty";V.page_id = "458";V.activity_id = "134";V.activity_id_list = ['134'];V.conf = 

尾部代码:

;V.bsData = {"os": "android", "app": null, "appversion": null, "browser": "", "userInfo": {"isLogin": false}};V.extData = {"pvid": "1581823641475608395", "rqid": "1581823641475608395", "qid": "1581823641475608395", "psid": "0", "sid": "0", "baiduid": "ANONYMOUS", "fr": "self", "oq": "-", "q": "-", "cat": "newpneumonia_newpneumonia", "pid": 385};V.currentTime = 1581823641;V.bundles = window.MOLA_BUNDLED_COMPONENTS || [];V.bundles = V.bundles.map(function (bundle) {return bundle.replace(/\.js$/, '');});require(['activity/captain/index'].concat(V.bundles), function (index) {index.enter();});

需要将这两部分,进行替换为空。解决方案:获取头部对应结尾的关键字符串,尾部对应的头部关键字符串,通过indexOf函数获取对应的字符串位置。

        //2.数据清洗,标题头处理,转换成标准的json格式;
        var index1 = res.indexOf('{"page"');//头部数据,找到指定字符串的位置;
        var index2 = res.indexOf(';V.bsData');//尾部数据,找到指定字符串的位置;
        console.log(index1);
        console.log(index2);
    })



三、对字符串利用substring函数进行替换:

        /*3.截取需要的字符串*/
        var data = res.substring(index1, index2);
        console.log(data);


 


四、标准数据输出

        /*4.标准数据输出*/
        var dataObj = eval("(" + data + ")");//设置json类型,解决返回undefined的问题
        console.log(dataObj.component[0]);



完整的代码:

    //使用$.get(),必须http服务器支持,无法本地访问;
    $.get('https://www.maomin.club/fy/get/', function (res, status) {
        /*1.读取数据,查看数据格式,按照需求进行数据清洗处理;*/
        //console.log(res);
        //2.数据清洗,标题头处理,转换成标准的json格式;
        var index1 = res.indexOf('{"page"');//头部数据,找到指定字符串的位置;
        var index2 = res.indexOf(';V.bsData');//尾部数据,找到指定字符串的位置;
        //console.log(index1);
       // console.log(index2);
        /*3.截取需要的字符串*/
        var data = res.substring(index1, index2);
       // console.log(data);
        /*4.标准数据输出*/
        var dataObj = eval("(" + data + ")");//设置json类型,解决返回undefined的问题
        console.log(dataObj.component[0]);
    })


接下来,讲述如何利用获取的数据进行echarts的数据可视化展示。

Done!

相关文章
|
1天前
|
存储 前端开发 安全
如何在自己的网站接入API接口获取数据?分步指南与实战示例
将第三方API(如微店API)接入网站是扩展功能和获取实时数据的关键。流程包括注册开发者账号、申请API权限、设置认证机制(OAuth 2.0或AppKey签名)、调用API实现前后端协作、处理数据与错误、优化安全性能,并解决常见问题。确保遵循最佳实践,保障系统稳定与安全。通过这些步骤,开发者可高效整合数据,提升应用功能。
|
2天前
|
数据采集 消息中间件 API
微店API开发全攻略:解锁电商数据与业务自动化的核心能力
微店开放平台提供覆盖商品、订单、用户、营销、物流五大核心模块的API接口,支持企业快速构建电商中台系统。其API体系具备模块化设计、双重认证机制、高并发支持和数据隔离等特性。文档详细解析了商品管理、订单处理、营销工具等核心接口功能,并提供实战代码示例。同时,介绍了企业级整合方案设计,如订单全链路自动化和商品数据中台架构,以及性能优化与稳定性保障措施。最后,针对高频问题提供了排查指南,帮助开发者高效利用API实现电商数智化转型。适合中高级开发者阅读。
|
7天前
|
存储 缓存 监控
如何高效爬取天猫商品数据?官方API与非官方接口全解析
本文介绍两种天猫商品数据爬取方案:官方API和非官方接口。官方API合法合规,适合企业长期使用,需申请企业资质;非官方接口适合快速验证需求,但需应对反爬机制。详细内容涵盖开发步骤、Python实现示例、反爬策略、数据解析与存储、注意事项及扩展应用场景。推荐工具链包括Playwright、aiohttp、lxml等。如需进一步帮助,请联系作者。
|
7天前
|
数据采集 JSON 数据可视化
JSON数据解析实战:从嵌套结构到结构化表格
在信息爆炸的时代,从杂乱数据中提取精准知识图谱是数据侦探的挑战。本文以Google Scholar为例,解析嵌套JSON数据,提取文献信息并转换为结构化表格,通过Graphviz制作技术关系图谱,揭示文献间的隐秘联系。代码涵盖代理IP、请求头设置、JSON解析及可视化,提供完整实战案例。
JSON数据解析实战:从嵌套结构到结构化表格
|
8天前
|
机器学习/深度学习 JSON 算法
淘宝拍立淘按图搜索API接口系列的应用与数据解析
淘宝拍立淘按图搜索API接口是阿里巴巴旗下淘宝平台提供的一项基于图像识别技术的创新服务。以下是对该接口系列的应用与数据解析的详细分析
|
8天前
|
JSON API 数据格式
淘宝商品评论API接口系列的应用与数据解析
在电商平台中,用户评论是了解商品质量、服务水平和用户满意度的重要数据来源。淘宝作为中国最大的电商平台,提供了商品评论API接口,帮助开发者获取和分析用户评价数据。本文将介绍淘宝商品评论API接口系列的作用、使用方法,并通过示例展示如何调用API并解析返回的JSON数据。
|
10天前
|
JSON 监控 API
python语言采集淘宝商品详情数据,json数据示例返回
通过淘宝开放平台的API接口,开发者可以轻松获取商品详情数据,并利用这些数据进行商品分析、价格监控、库存管理等操作。本文提供的示例代码和JSON数据解析方法,可以帮助您快速上手淘宝商品数据的采集与处理。
|
11天前
|
JSON API 数据格式
Python 请求微店商品详情数据 API 接口
微店开放平台允许开发者通过API获取商品详情数据。使用Python请求微店商品详情API的主要步骤包括:1. 注册并申请API权限,获得app_key和app_secret;2. 确定API接口地址与请求参数,如商品ID;3. 生成签名确保请求安全合法;4. 使用requests库发送HTTP请求获取数据;5. 处理返回的JSON格式响应数据。开发时需严格遵循微店API文档要求。
|
15天前
|
JSON JavaScript 前端开发
处理从API返回的JSON数据时返回Unicode编码字符串怎么处理
在处理API返回的JSON数据时,遇到类似`\u7f51\u7edc\u8fde\u63a5\u9519\u8bef`的Unicode编码字符串,可使用JavaScript内置方法转换为可读文字。主要方法包括:1. 使用`JSON.parse`自动解析;2. 使用`decodeURIComponent`和`escape`组合解码;3. 在API调用中直接处理响应数据。这些方法能有效处理多语言内容,确保正确显示非ASCII字符。
|
20天前
|
JSON API 数据格式
淘宝商品评论数据API接口详解及JSON示例返回
淘宝商品评论数据API接口是淘宝开放平台提供的一项服务,旨在帮助开发者通过编程方式获取淘宝商品的评论数据。这些数据包括评论内容、评论时间、评论者信息、评分等,对于电商分析、用户行为研究、竞品分析等领域都具有极高的价值。

热门文章

最新文章