Python 使用requests模块 执行Web API调用 获取网站数据并可视化

import requests#执行web api调用,并将响应存储在response_dict字典中
url='https://api.github.com/search/repositories?q=language:python&sort=stars'
headers={'Accept':'application/vnd.github.v3+json'}
r=requests.get(url,headers=headers)
print(f'Status code:{r.status_code}')
response_dict = r.json()

使用网站提供的API可以使用requests.get方法获得网站数据。

网站数据保存在变量r中。

当r.status_code为200是,表明获得的数据是完整的。

再使用r.json()方法,将获得的数据保存在‘字典’response_dict中。

对字典中的数据结构进行整理,筛选,可以进一步实现数据可视化。

数据处理过程如下:

repo_dicts = response_dict['items']
repo_names = [repo_dict['name'] for repo_dict in repo_dicts]
stars = [repo_dict['stargazers_count'] for repo_dict in repo_dicts]
labels = [f"{repo_dict['owner']['login']}<br />{repo_dict['description']}" for repo_dict in repo_dicts]
repo_links = [f"<a href='{repo_dict['html_url']}'>{repo_dict['name']}</a>" for repo_dict in repo_dicts]

可视化设置如下:

from plotly.graph_objs import Bar
from plotly import offlinedata = [{'type':'bar',#绘制柱状图'x':repo_links,#x轴名称为链接,可与用户交互'y':stars,'hovertext':labels,#鼠标悬停显示label信息'marker':{'color':'rgb(60,100,150)','line':{'width':1.5,'color':'rgb(2,5,25,25)'}},#修改柱状图默认颜色'opacity':0.6,#修改色彩透明度
}]my_layout = {'title':'GitHub上最受欢迎的Python项目','titlefont':{'size':28},'xaxis':{'title':'Repository','titlefont':{'size':24},'tickfont':{'size':14},},'yaxis':{'title':'Stars','titlefont':{'size':24},'tickfont':{'size':14},},
}fig = {'data':data,'layout':my_layout}
offline.plot(fig,filename='python_repos.html')

最终运行结果:

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

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

相关文章

软件测评中心分享:软件鉴定测试与验收测试有什么联系和区别?

1、软件鉴定测试   软件鉴定测试是在软件开发完成后进行的一个核心环节&#xff0c;是通过对软件进行功能性、性能、安全性等方面的综合测试&#xff0c;来验证软件是否符合规定的需求和标准。 2、软件验收测试   软件验收测试是软件开发工作结束后的最后一个环节&#xf…

并发编程所需的底层基础

一、计算机运行的底层原理 1.多级层次的存储结构 ①:辅存 固态盘不是主要的应用对象&#xff0c;因为固态盘的使用次数是有限的&#xff0c;无法支撑高并发场景 磁盘存储的最基本原理是电生磁。 磁盘的磁道里边有很多的磁颗粒&#xff0c;磁颗粒上边有一层薄膜为了防止磁点氧…

MySQL连接池和MySQL永久连接(长连接)在数据库连接管理方面都有其独特的优缺点。swoole pdopool实现

MySQL连接池的优点&#xff1a; 资源重用&#xff1a;连接池中的连接可以被多个请求共享&#xff0c;避免了频繁创建和释放连接所引起的大量性能开销。这有助于减少内存碎片以及数据库临时进程或线程的数量&#xff0c;从而增进系统运行环境的平稳性。更快的系统响应速度&…

5G网络架构与组网部署03--5G网络组网部署

1. SA组网与NSA组网 &#xff08;1&#xff09;NSA 非独立组网&#xff1a;终端同时接入4G基站和5G基站&#xff0c;只能实现5G部分功能 &#xff08;2&#xff09;SA组网【最终目标】&#xff1a;5G基站可以单独提供服务&#xff0c;接入的是5G核心网 区别&#xff1a;同一时间…

01-java面试题八股文-----java基础——20题

文章目录 <font color"red">1、java语言有哪些特点&#xff1a;<font color"red">2、面向对象和面向过程的区别<font color"red">3、标识符的命名规则。<font color"red">4、八种基本数据类型的大小&#xff…

Linux常用端口解释

著名端口 端口号码 / 层名称注释1tcpmuxTCP 端口服务多路复用5rje远程作业入口7echoEcho 服务9discard用于连接测试的空服务11systat用于列举连接了的端口的系统状态13daytime给请求主机发送日期和时间17qotd给连接了的主机发送每日格言18msp消息发送协议19chargen字符生成服务…

STM32CubeMX+freeRTOS+事件组 多任务处理LED和串口打印

摘要:利用CubeMx配置freeeRTOS建立任务并使用事件组实现按键按下时 LED开关和打印信息到串口,上位机接收显示。 验证STM32CubeMx配置的FreeRTOS的任务和事件组使用 方案:按下Key1,绿灯亮或者灭,同时串口打印Key1被按下了到上位机;相关端口和串口配置省略。 新建三个任务…

[mailto:steloj@mailfence.com].steloj勒索病毒数据怎么处理|数据解密恢复

导言&#xff1a; 随着互联网的普及和数字化进程的加速&#xff0c;网络安全已成为人们关注的焦点。近年来&#xff0c;勒索病毒以其高隐蔽性和破坏性在互联网上大肆传播&#xff0c;给个人和企业带来了巨大的损失。其中&#xff0c;[mailto:stelojmailfence.com].steloj勒索病…

Sora底层技术原理:Stable Diffusion运行原理

AIGC 热潮正猛烈地席卷开来&#xff0c;可以说 Stable Diffusion 开源发布把 AI 图像生成提高了全新高度&#xff0c;特别是 ControlNet 和 T2I-Adapter 控制模块的提出进一步提高生成可控性&#xff0c;也在逐渐改变一部分行业的生产模式。惊艳其出色表现&#xff0c;也不禁好…

嵌入式开发--获取STM32产品系列的信息

嵌入式开发–获取STM32产品系列和容量信息 获取STM32产品系列 有时候我们需要知道当前MCU是STM32的哪一个系列&#xff0c;这当然可以从外部丝印看出来&#xff0c;但是运行在内部的软件如何知道呢&#xff1f; ST为我们提供了一个接口&#xff0c;对于STM32的所有MCU&#x…

xshell链接不上hadoop虚拟机

输入ifconfig查看是否有ens33 没有的话解决方案如下&#xff1a; systemctl stop NetworkManager systemctl restart network.service service network restartsys 依次输入以上命令 如果报错或者没用的话&#xff0c;进入root重新输入一遍这三个命令 大功告成&#xff01;…

LF-YOLO

LF-YOLO算法解读&#xff0c;针对x射线图像 1、EMF&#xff1a;网络结构的改变&#xff0c;enhanced multiscale feature(增强的多尺度特性)&#xff0c;多尺度融合模块。利用基于参数的方法和无参数的方法&#xff0c;可以同时结合X射线图像的局部和全局上下文&#xff0c;利用…

【C++从练气到飞升】04---拷贝构造函数

&#x1f388;个人主页&#xff1a;库库的里昂 ✨收录专栏&#xff1a;C从练气到飞升 &#x1f389;鸟欲高飞先振翅&#xff0c;人求上进先读书。 目录 ⛳️推荐 一、拷贝构造函数的引入 1. 以日期类为例:进行的值拷贝是不会发生错误的 2. 以栈类为例:进行的值拷贝会发现发…

oracle实现批量插入

一、Dao层(增加Parm参数) void insert(Param("list") List<TicketInfo> ticketInfos); 二、Mapper层(加入条件判断值是否为空) insert all<foreach collection"list" item"item" index"index">into 表名<trim prefix…

批量重启某个节点的pod

在我们日常运维工作中&#xff0c;经常有下线某个节点的需求&#xff0c;如果采用直接驱逐&#xff0c;会导致服务不可用&#xff0c;故采用重启的方式&#xff0c;可以实现新pod 漂移到新节点上。以下是采用shell 命令的方式重启某个节点的pod。 前置条件&#xff1a;已把下线…

【一竞技CS2】pasha将骑行前往哥本哈根Major

1、传奇老将pasha最近发文表示&#xff1a;自己将在3月23日&#xff0c;从华沙的西吉斯蒙德圆柱出发&#xff0c;开始了前往哥本哈根Major的旅程。 去年pasha于当地时间5月12日清晨出发&#xff0c;并一路开启直播记录自己骑行前往巴黎的旅程。最终他于5月19日抵达埃菲尔铁塔。…

05-shell编程-比较判断

一、判断文件/目录是否存在 1&#xff0c;判断文件是否存储在 [rootgong ~]# [ -f /etc/hosts ] && echo "它存在" || echo "它不存在" 它存在 [rootgong ~]# [ -f /etc/hostssssss ] && echo "它存在" || echo "它不存在…

基于python+vue智慧农业小程序flask-django-php-nodejs

传统智慧农业采取了人工的管理方法&#xff0c;但这种管理方法存在着许多弊端&#xff0c;比如效率低下、安全性低以及信息传输的不准确等&#xff0c;同时由于智慧农业中会形成众多的个人文档和信息系统数据&#xff0c;通过人工方法对知识科普、土壤信息、水质信息、购物商城…

AVL树的实现

概念 1.为了解决二叉搜索树有序插入&#xff0c;会退化成链表&#xff0c;导致效率低下。 AVL树的左右子树高度差不超过1&#xff0c;所以AVL树的查找效率为logn。 2.在左子树高度增加&#xff0c;平衡因子减一&#xff0c;在右子树高度增加&#xff0c;平衡因子加一。 节点…

C# winform修改背景图 控件双向绑定 拖拽打开图片

修改背景图 说明 这里我准备基于百度飞桨PaddleSeg项目的人像分割模块做一个人像抠图&#xff0c;这里顺便用上了双向绑定和图片拖拽打开。 下面就是示例&#xff1a; 用颜色替换 用背景图替换 保存成功后的图片 一、使用百度飞桨PaddleSeg //初始化 引擎engine new Padd…