【数据分析入门】【淘宝电商API接入与电商数据分析】初识Web API(一)

news2024/10/12 6:19:09

今天开始我们将学习如何使用Web应用变成借口(API)自动请求网站到特定信息而不是整个网站,再对这些信息进行可视化。由于这样编写到程序始终使用最新到数据来生成可视化,因此即便数据瞬息万变,它呈现到信息也都是最新的。比如,我们接入淘宝平台API接口即可实时监控某个品牌店铺产品的实时销量和价格,实现可视化的查看商品的价格和销售虚线。

图片

图片

图片

使用Web API

Web API是网站的一部分,用于与使用非常具体的URL请求特定信息定程序交互。这种请求称为API调用。请求的数据将以易于处理的格式(如JSON或CSV)返回。依赖于外部数据源的大多数应用程序都依赖于API调用,如集成社交媒体网站的应用程序。

图片

图片

图片

Git和Github

本章的可视化将基于来自Github的信息,这是一个让程序员能够协作开发项目的网站。我们将使用Github的API来请求有关该网站中Python项目的信息,然后使用Pygal生成交互式可视化,以呈现这些项目的受欢迎程度。关于Git的详细内容,后续我会出一篇独立的分享,这次我们只使用Github的API就可以啦。

图片

图片

图片

使用API调用请求数据

Github的API让你能够通过API调用来请求各种信息,要知道API调用是什么样的,请在浏览器地址栏输入如下地址并回车:

https://api.github.com/search/repositories?q=language:python&sort=stars

这个调用返回GitHub当前托管了多少个Python项目,还有有关最受欢迎的Python仓库的信息。下面来仔细研究这个调用。第一部分(https://api.github.com/)将请求发送到GitHub网站中响应API调用的部分:接下来的一部分(search/repositories)让API搜索GitHub上的所有仓库。

repositories后面的问号指出我们要传递一个实参。q表示查询,而等号让我们能够开始指定查询(q=)。通过使用language:python,我们指出只想获取主要语言为Python的仓库信息。最后一部分(&sort = stars)指定将项目按其获得的星级进行排序。

下面显示来响应的一部分,从响应可知,该URL并不适合人工输入。

图片

从第二行可知,目前GitHub总共有6174026个Python项目。“incomplete_results” 的值为True,证明GitHub无法全面处理该API,这里我们只分析部分数据。接下来的列表中展示了返回的“items”,其中包含GitHub上最受欢迎的Python项目的详细信息。

图片

图片

图片

安装requests

requests包让Python程序能够轻松地向网站请求信息以及检查返回的响应,首先来新建一个项目并安装requests包。

pip3 install requests

处理API响应

下面来编写一个程序,它执行API调用并处理结果,找出GitHub上星级最高的Python项目:

import requests#执行API调用并存储响应url='https://api.github.com/search/repositories?q=language:python&sort=stars'r = requests.get(url)print("Status code:",r.status_code)#将API响应存储在一个变量中response_dict = r.json()#处理结果print(response_dict.keys())

首先我们导入模块requests,接着我们存储API调用的URL,然后使用requests来进行调用。我们调用get()并将URL传递给它,再将响应对象存储在变量r中。响应对象包含一个名为status_code的属性,它让我们知道请求是否成功了(状态码200表示成功)。最后我们使用方法json()将这些信息转换为一个Python字典,并将转换得到的字典存储在response_dict中,打印response_dic中的键,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/993033.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

算法训练营day48|动态规划 part09:打家劫舍(LeetCode 198.打家劫舍、213.打家劫舍II、337.打家劫舍 III)

文章目录 198.打家劫舍思路分析代码实现思考总结 213.打家劫舍II思路分析代码实现 337.打家劫舍 III思路分析代码实现思考总结 198.打家劫舍 题目链接🔥🔥 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响…

NSQ和KAFKA的使用入门

【nsq vs kafka】https://zhuanlan.zhihu.com/p/46421050 【kafka】https://juejin.cn/post/6844903495670169607 NSQ 分布式内存消息队列 优势: NSQ提倡分布式和分散的拓扑,没有单点故障,支持容错和高可用性,提供可高的消息交…

如何理解Java中的自动拆箱和自动装箱?

个人主页:金鳞踏雨 个人简介:大家好,我是金鳞,一个初出茅庐的Java小白 目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作 我的博客&am…

亚运会:举办次数最多的是泰国,观众满意度衡量赛事成功情况

本文由群狼调研(长沙第三方评估)整理出品,欢迎转载,请注明出处。8日起至9月20日,杭州第19届亚运会火炬传递启动,杭州亚运会是放开后的首个盛会,亚洲的健儿齐集于此,同场竞技&#xf…

【C++入门】C语言的不足之处

概要 C入门主要讲的是C语言的一些不足,C作为补充,来补充C的不足之处 C的关键字有63个,C语言有32个(作为了解,不需要专门记) 变量的命名规则: 变量名必须以字母或下划线开头。变量名只能包含字…

httprunner环境变量

前言 我的上一篇文章讲了httprunner的基本介绍,这篇文章呢主要来给大家介绍httprunner中的环境变量。 一般来说,在进行实际应用的开发过程中,应用会拥有不同的运行环境,通常会有以下环境: 本地开发环境测试环境生产…

Flask狼书笔记 | 07_留言板

文章目录 7 留言板7.1 使用包组织代码7.2 Web开发流程7.3 使用Bootstrap-Flask7.4 Flask-Moment本地化日期和时间7.5 使用Faker生成虚拟数据7.6 Flask_DebugToolbar调试程序7.7 Flask配置的两种组织形式小结 7 留言板 这是一个简单的程序,涉及到的大部分是之前所学…

windows弹出交互式服务检测一键取消bat脚本

现象 脚本命令 新建一个bat文件,将下面的脚本拷贝进去,保存,双击即可 禁用服务:重启电脑的时候不会启动 停止服务:立即停止服务,马上生效的 sc config UI0Detect start disabled net stop UI0Detect

AQS同步队列和等待队列的同步机制

理解AQS必须要理解同步队列和等待队列之间的同步机制,简单来说流程是: 获取锁失败的线程进入同步队列,成功的占用锁,占锁线程调用await方法进入条件等待队列,其他占锁线程调用signal方法,条件等待队列线程进…

攻防世界题目练习——Crypto密码难度1(一)

题目目录 1. base642. Caesar3. Morse4. Broadcast5. hidden key6. [简单] 初识RSA7. 简单的LFSR8. baigeiRSA 1. base64 下载文件,打开是一个txt文件,解密工具base64解码,如图: 2. Caesar 打开文件看到字符如下: …

道一云·七巧对接打通金蝶云星空查询七巧表单接口与供应商新增接口

道一云七巧对接打通金蝶云星空查询七巧表单接口与供应商新增接口 数据源平台:道一云七巧 道一云七巧拥有强大的自定义表单设计工具,并配置工作流程,通过流程智能流转,打通各个业务场景中的审批、协作环节,包含数据采集单、任务单…

strlen函数使用与模拟实现【进阶版】

strlen函数使用与模拟实现 1.strlen函数介绍 资源来源于cplusplus网站 翻译过来的大致意思就是: 获取字符串长度 2.strlen的使用 int main() { //strlen - 求字符串长度的 //字符串的结束标志是\0 //strlen统计的是\0之前出现的字符的个数 //基本功能 char arr[]…

【送书活动】全网超50万粉丝的Linux大咖良许,出书了!

前言 「作者主页」:雪碧有白泡泡 「个人网站」:雪碧的个人网站 「推荐专栏」: ★java一站式服务 ★ ★ React从入门到精通★ ★前端炫酷代码分享 ★ ★ 从0到英雄,vue成神之路★ ★ uniapp-从构建到提升★ ★ 从0到英雄&#xff…

母婴品牌的小红书投放策略有哪些,投放总结

最近有很多人想知道达人投放的一些相关知识,我们立马捕捉到了大家对这一干货内容的感兴趣程度,今天就来为大家分享下,母婴品牌的小红书投放策略有哪些,投放总结! 什么是达人投放? 达人投放是一种常用于社交媒体营销的…

异步FIFO项目 UVM验证

文章目录 前言一、异步FIFO仿真过程1、异步FIFO设计2、UVM验证 二、脚本文件编写三、编译错误 前言 2022.11.15 记录自己开始使用UVM仿真异步FIFO项目 一、异步FIFO仿真过程 1、异步FIFO设计 首先对编写的异步FIFO设计代码进行验证,写了一个test.v文件 &#xff…

docker概念、安装与卸载

第一章 docker概念 Docker 是一个开源的应用容器引擎。 Docker 诞生于2013年初,基于 Go 语言实现,dotCloud 公司出品,后改名为 Docker Inc。 Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发…

Python的命名空间和作用域

所谓作用域就是指变量名/对象名在多大范围内是可见的/有效的,一个变量名既不能作用域太大,这样会引发广泛的命名冲突,也不能太小,这样很难实现变量的共享,所以一般都有多层次的作用域。一个层次的作用域,在…

WebGL 同时使用多幅纹理

目录 前言 ​编辑 示例代码 颜色矢量的分量乘法来计算两个纹素最终的片元颜色 注册事件响应函数:loadTexture(),最后一个参数是纹理单元编号。 请求浏览器加载图像: 配置纹理:loadTexture&#xff0…

linux 安装Docker

# 1、yum 包更新到最新 yum update # 2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 yum install -y yum-utils device-mapper-persistent-data lvm2 # 3、 设置yum源 yum-config-manager --add-repo h…

基于SSM的汽车养护管理系统

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…