Cloud Studio实战——热门视频Top100爬虫应用开发

news2024/12/22 11:32:48

最近Cloud Studio非常火,我也去试了一下,感觉真的非常方便!我就以Python爬取B站各区排名前一百的视频,并作可视化来给大家分享一下Cloud Studio!应用链接:Cloud Studio实战——B站热门视频Top100爬虫应用开发

文章目录

  • 一、腾讯云Cloud介绍
  • 二、 B站爬虫
    • 2.1爬虫代码
    • 2.2爬虫结果
  • 三、数据可视化部分
    • 3.1主站分析饼状图
      • 3.1.1主站分析饼状图代码
      • 3.1.2主站分析饼状图结果
    • 3.2各站对比垂直图
      • 3.2.1各站对比垂直图代码
      • 3.2.2各站对比垂直图结果
    • 3.3词云分析
      • 3.3.1词云分析代码
  • 四、代码讲解
    • 4.1爬虫
    • 4.2主站分析饼状图
    • 4.3各站对比垂直图
    • 4.4词云分析
  • 五、Cloud Studio总结

一、腾讯云Cloud介绍

在这里插入图片描述
点开一个工作台,选择一个环节,即可在里面编辑代码,不用再担心本地环境不兼容的问题。腾讯云Cloud Studio是一种基于云的开发环境,可以帮助开发人员更高效地进行软件开发和协作。它提供了一个集成开发环境(IDE),可以在任何地方通过互联网访问,无需在本地安装任何软件。

腾讯云Cloud Studio的优势我总结为:

  1. 灵活性:Cloud Studio可以在任何设备上使用,只需一个支持Web浏览器的设备即可。这使开发人员可以随时随地访问他们的开发环境,无论是在办公室、家中还是旅途中。

  2. 资源可扩展性:Cloud Studio在云端运行,可以根据需要动态调整计算和存储资源。这意味着开发人员可以根据项目需求灵活地扩展或缩减资源,而无需关注硬件设备的限制。

  3. 协作能力:Cloud Studio支持多人协作开发,多个开发人员可以在同一个开发环境中同时工作。这样可以提高团队的协作效率,减少代码冲突和合并的问题。

  4. 安全性:腾讯云提供了严格的安全措施来保护用户的数据和开发环境。Cloud Studio使用安全的传输协议,并提供数据加密和访问控制等功能,确保用户的代码和数据得到保护。

  5. 生态系统整合:Cloud Studio与腾讯云的其他服务紧密集成,如云服务器、对象存储、数据库等。这使得开发人员可以方便地使用这些服务来构建和部署应用程序。

在我看来,腾讯云Cloud Studio提供了一个灵活、可扩展、安全和协作的开发环境,使开发人员能够更加高效地进行软件开发和协作。

二、 B站爬虫

在这里插入图片描述
B站,全称哔哩哔哩动画,是中国知名的在线视频分享平台,也是全球最大的二次元文化社区之一。B站以动画、漫画、游戏(ACG)为主题,为用户提供高质量的原创动画、弹幕评论、直播互动和社区交流等服务。作为一个年轻人喜爱的文化社区,B站汇集了大量的ACG内容创作者和粉丝,形成了独特的二次元文化氛围。通过B站,用户可以畅享各种精彩的动画作品、参与互动的直播活动,并与志同道合的人分享兴趣爱好、交流心得。

2.1爬虫代码

import requests
import pandas as pd
url_dict = {
	'全站': 'https://api.bilibili.com/x/web-interface/ranking/v2?rid=0&type=all',
	'动画': 'https://api.bilibili.com/x/web-interface/ranking/v2?rid=1&type=all',
	'生活': 'https://api.bilibili.com/x/web-interface/ranking/v2?rid=160&type=all',
	'动物圈': 'https://api.bilibili.com/x/web-interface/ranking/v2?rid=217&type=all',
	'娱乐': 'https://api.bilibili.com/x/web-interface/ranking/v2?rid=5&type=all',
	'影视': 'https://api.bilibili.com/x/web-interface/ranking/v2?rid=181&type=all',
	'原创': 'https://api.bilibili.com/x/web-interface/ranking/v2?rid=0&type=origin',
}
headers = {
	'Accept': 'application/json, text/plain, */*',
	'Origin': 'https://www.bilibili.com',
	'Host': 'api.bilibili.com',
	'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Safari/605.1.15',
	'Accept-Language': 'zh-cn',
	'Connection': 'keep-alive',
	'Referer': 'https://www.bilibili.com/v/popular/rank/all'
}

for i in url_dict.items():
	url = i[1]  # url地址
	tab_name = i[0]  # tab页名称
	title_list = []
	play_cnt_list = []  # 播放数
	danmu_cnt_list = []  # 播放数
	coin_cnt_list = []  # 投币数
	like_cnt_list = []  # 点赞数
	dislike_cnt_list = []  # 点踩数
	share_cnt_list = []  # 分享数
	favorite_cnt_list = []  # 收藏数
	author_list = []
	score_list = []
	video_url = []
	try:
		r = requests.get(url, headers=headers)
		print(r.status_code)
		# pprint(r.content.decode('utf-8'))
		# r.encoding = 'utf-8'
		# pprint(r.json())
		json_data = r.json()
		list_data = json_data['data']['list']
		for data in list_data:
			title_list.append(data['title'])
			play_cnt_list.append(data['stat']['view'])
			danmu_cnt_list.append(data['stat']['danmaku'])
			coin_cnt_list.append(data['stat']['coin'])
			like_cnt_list.append(data['stat']['like'])
			dislike_cnt_list.append(data['stat']['dislike'])
			share_cnt_list.append(data['stat']['share'])
			favorite_cnt_list.append(data['stat']['favorite'])
			author_list.append(data['owner']['name'])
			score_list.append(data['score'])
			video_url.append('https://www.bilibili.com/video/' + data['bvid'])
			print('*' * 30)
	except Exception as e:
		print("爬取失败:{}".format(str(e)))

	df = pd.DataFrame(
		{'视频标题': title_list,
		 '视频地址': video_url,
		 '作者': author_list,
		 '综合得分': score_list,
		 '播放数': play_cnt_list,
		 '弹幕数': danmu_cnt_list,
		 '投币数': coin_cnt_list,
		 '点赞数': like_cnt_list,
		 '点踩数': dislike_cnt_list,
		 '分享数': share_cnt_list,
		 '收藏数': favorite_cnt_list,
		 })
	df.to_csv('B站TOP100-{}.csv'.format(tab_name), encoding='utf_8_sig')  # utf_8_sig修复乱码问题
	print('写入成功: ' + 'B站TOP100-{}.csv'.format(tab_name))

2.2爬虫结果

在这里插入图片描述

得到的是一个总站、六个分区的热门视频内容,存储在csv文件中。一共七个csv文件。打开全站文件可以看到:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gPoIuupZ-1691499948735)(image-1.png)]

csv文件中存储这当前区的视频标题,地址、作者、播放数、弹幕数、投币数等信息,可以利用这些数据进行数据处理操作。

三、数据可视化部分

3.1主站分析饼状图

3.1.1主站分析饼状图代码

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
# 全站饼状图
Total_station = pd.read_csv("B站TOP100-全站.csv")
num_dic = {}
# play_num = Total_station["播放数"]
barrage_num = Total_station["弹幕数"]
coin_num = Total_station["投币数"]
like_num = Total_station["点赞数"]
share_num = Total_station["分享数"]
collection_num = Total_station["收藏数"]
# num_dic["播放数"] = sum(play_num)
num_dic["弹幕数"] = sum(barrage_num)
num_dic["投币数"] = sum(coin_num)
num_dic["点赞数"] = sum(like_num)
num_dic["分享数"] = sum(share_num)
num_dic["收藏数"] = sum(collection_num)
Num = sum(num_dic.values())
# 单个数据
data = list(num_dic.values())
# 数据标签
labels = list(num_dic.keys())
# 各区域颜色
colors = ['green', 'orange', 'red', 'purple', 'blue']
# 数据计算处理
sizes = [data[0] / Num * 100, data[1] / Num * 100, data[2] / Num * 100, data[3] / Num * 100, data[4] / Num * 100]
# 设置突出模块偏移值
expodes = (0, 0, 0, 0.1, 0)
# 设置绘图属性并绘图
plt.pie(sizes, explode=expodes, labels=labels,shadow=True,autopct="%3.1f%%", colors=colors)
## 用于显示为一个长宽相等的饼图
plt.axis('equal')
plt.title("主站分析饼状图",fontsize=20)
# 保存并显示
plt.savefig('主站分析饼状图.png')
plt.show()

3.1.2主站分析饼状图结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AoRWrJxg-1691499948737)(image-2.png)]

3.2各站对比垂直图

3.2.1各站对比垂直图代码

import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False


all_list =['视频标题','视频地址','作者','综合得分','播放数','弹幕数','投币数','点赞数','点踩数','分享数','收藏数']
all_dic = {}
Total_station = pd.read_csv("B站TOP100-全站.csv")
animal = pd.read_csv("B站TOP100-动物圈.csv")
animation = pd.read_csv("B站TOP100-动画.csv")
original = pd.read_csv("B站TOP100-原创.csv")
entertainment = pd.read_csv("B站TOP100-娱乐.csv")
film_television = pd.read_csv("B站TOP100-影视.csv")
life = pd.read_csv("B站TOP100-生活.csv")
# all_dic["全站"] = sum(Total_station["播放数"])
# 垂直各站对比图
all_dic["动物圈"] = sum(animal["播放数"])
all_dic["动画"] = sum(animation["播放数"])
all_dic["原创"] = sum(original["播放数"])
all_dic["娱乐"] = sum(entertainment["播放数"])
all_dic["影视"] = sum(film_television["播放数"])
all_dic["生活"] = sum(life["播放数"])
y1 = list(all_dic.values())
x = np.arange(len(y1))
plt.bar(x=x,height=y1,width=0.4)
a = [0,1,2,3,4,5]
labels = ['动物圈', '动画', '原创', '娱乐','影视','生活']
plt.xticks(a,labels,rotation = 10)
plt.xlabel('不同区名称',fontsize=10)
plt.ylabel('播放总数',fontsize=10)
plt.title("不同区前一百播放总数对比",fontsize=20)
plt.savefig("垂直各站对比图.jpg", dpi=300)
# plt.show()

3.2.2各站对比垂直图结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Wtx4NZ8P-1691499948739)(image-3.png)]

3.3词云分析

3.3.1词云分析代码

import wordcloud as wc
import jieba
from PIL import Image
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
Total_station = pd.read_csv("B站TOP100-全站.csv")
f = open('temp.txt',mode='w')
title = Total_station["视频标题"][:5:]
author = Total_station["作者"]
for i in title:
    f.write(i)  # write 写入
            #关闭文件
for i in author:
    f.write(i)  # write 写入
f.close()
with open("temp.txt", mode="r", encoding="GBK") as fp:
    content = fp.read()  # 读取文件内容
res = jieba.lcut(content)  # 中文分词
text = " ".join(res)  # 用空格连接所有的词
mask = np.array(Image.open("背景.jpg"))  # 指定词云图效果
word_cloud = wc.WordCloud(font_path="msyh.ttc", mask=mask)  # 创建词云对象
word_cloud.generate(text)  # 生成词语
plt.imshow(word_cloud)  # 显示词云图
word_cloud.to_file("词云分析.png")  # 保存成图片
plt.show()  # 显示图片2.4.2词云分析结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5R9VhJmD-1691499948741)(image-4.png)]

四、代码讲解

4.1爬虫

  • 首先那么需要在那么自己电脑上安装request和pandas库,如果你们是anaconda环境的话,它应该自己自带这两个库,不用再另外安装,没有这两个库的话,要自行安装,对应教程可以上CSDN或者B站里面找一找,教程很多,跟着他后面做就能安装上。
  • url_dict ={}是定义了一个字典,这个字典的键就是分区的名字,值就是对应的url,你也可以理解为它的网址。
  • Headers就是起到一个隐藏自己的作用,你在本地pycharm去爬浏览器,如果不加这个headers的话,浏览器很容易就能判断出你是一个爬虫,就把你拒之门外了。这个headers就相当于穿了一个外套,或者你也可以理解为拿到了一个浏览器认可的身份证。有了这个包装,你才可以顺利的去爬取指定的浏览器。
  • 接下来一个for循环,ur l_dict就是我们上面定义的字典,ur l_dict.items()就是获取它的所有键和值。url即为i[1],tab_name = i[0]。
  • try – except:用于捕获异常,防止爬虫过程中出现异常,这段指令可以让程序更加健壮。
  • try里面的内容是整个爬虫的核心:r = requests.get(url, headers=headers)+ json_data = r.json()是获取目标网站的信息,返回的是一个键和值关联的嵌套字典(如下图)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i8aZYYWG-1691499948742)(image-5.png)]

list_data = json_data[‘data’][‘list’]是获取键为data的字典里面键为list的值,返回的是一个列表。
用for循环遍历list_data,将对应数据加到对应列表中,这里涉及到的知识点是列表、字典的索引,以及嵌套字典嵌套列表的索引。
df = pd.DataFrame将对应字典转化为DataFrame格式,方便之后写入csv文件中。
最后利用df.to_csv将数据写入csv文件中,utf_8_sig修复乱码问题。再给个提示语句,提示写入完成。

4.2主站分析饼状图

  • 首先通过pandas读取文件,将弹幕数、投币数、点赞数、分享数、收藏数依次用变量存储起来。
  • 利用字典将变量与对应变量和一一对应,总和即为data = list(num_dic.values()),数据标签为labels = list(num_dic.keys())。在设置一个颜色列表colors = [‘green’, ‘orange’, ‘red’, ‘purple’, ‘blue’]。
  • 数据计算处理,即求出每一部分占总体的多少,expodes设置模块偏移量。
  • plt.pie是用来绘制饼图,在这个函数里面添加数据、标签、颜色等信息。
  • 再整个图片上添加标题,最后将图片保存后显示出来。

4.3各站对比垂直图

  • 首先读取各分区的数据,提取不同分区的播放数据,求总和作为该分区的热度。
  • 垂直对比图用plt.bar来绘制,需要两个基本参数,x和y。x即为不同分区的名称,y即为上面求的热度值。
  • 利用plt.xlabel、plt.ylabel、plt.title分别添加x,y轴的标题和整张图片标题,最后将图片保存后显示出来。

4.4词云分析

  • 首先你要安装这些依赖库:
    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mC3C2HfQ-1691499948743)(image-6.png)]

  • 同样,我们读取全站的数据,title = Total_station[“视频标题”][:5:]读取热度排名前五的标题,author = Total_station[“作者”]读取所有热门作者。

  • with open(“temp.txt”, mode=“r”, encoding=“GBK”) as fp:打开temp文件,如果不存在的话就新建,利用for循环将标题和作者信息输入到temp文件中,并最后关闭文件。

  • res = jieba.lcut(content)利用jieba分词器进行中文分词,并用空格连接所有词。

  • mask = np.array(Image.open(“背景.jpg”))指定词云图效果,之后创建词云对象,生成词语并显示词云图。

  • 最后保存片并显示。

五、Cloud Studio总结

通过使用腾讯云Cloud Studio,我成功地开发了一个应用程序,用于爬取B站视频数据并进行可视化分析。这个应用程序具有以下几个关键特点:

  1. 灵活性和便利性:使用Cloud Studio,我可以随时随地访问我的开发环境,无需担心设备和软件的限制。这使得开发过程更加灵活和便利。

  2. 数据爬取:通过调用B站的API接口,我能够获取到所需的视频数据,包括视频标题、播放量、点赞数等。这为后续的可视化分析提供了数据基础。

  3. 可视化分析:我使用Python的数据分析和可视化库,对爬取到的B站视频数据进行处理和分析。通过绘制图表和图形,我能够更直观地展示视频数据的趋势、热门内容和用户喜好等。

  4. 实时更新:借助Cloud Studio的云端环境,我可以定期运行我的应用程序,实时获取最新的B站视频数据并更新可视化结果。这使得我的应用程序始终保持最新和准确的数据。

总的来说,腾讯云Cloud Studio为我提供了一个高效、灵活和安全的开发环境,使我能够成功地开发了一个爬取B站视频并可视化的应用程序。这个应用程序不仅可以帮助我更好地了解B站视频的趋势和热门内容,还可以为其他用户提供有价值的数据分析和参考。

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

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

相关文章

MyCat分片规则——范围分片、取模分片、一致性hash、枚举分片

1.范围分片 2.取模分片 范围分片和取模分片针对数字类型的字段可以,但是针对于字符串类型的字段时。这两种就不适用了。 3.一致性hash 4.枚举分片 默认节点指的是,如果我们向数据库表插入数据的时候,超出了这个枚举值,那么默认向…

stm32 cubemx ps2无线(有线)手柄

文章目录 前言一、cubemx配置二、代码1.引入库bsp_hal_ps2.cbsp_hal_ps2.h 2.主函数 前言 本文讲解使用cubemx配置PS2手柄实现对手柄的按键和模拟值的读取。 很简单,库已经封装好了,直接就可以了。 文件 一、cubemx配置 这个很简单,不需要…

数据结构 二叉树(一篇基本掌握)

绪论 雄关漫道真如铁,而今迈步从头越。 本章将开始学习二叉树(全文共一万两千字),二叉树相较于前面的数据结构来说难度会有许多的攀升,但只要跟着本篇博客深入的学习也可以基本的掌握基础二叉树。 话不多说安全带系好&…

怎么绘制汤姆索亚历险记思维导图?掌握这几个绘制步骤就可以

怎么绘制汤姆索亚历险记思维导图?如果你正在为学习汤姆索亚历险记而感到困惑,或者你想要更好地理解小说中的人物关系、情节和舞台背景,那么一个清晰的思维导图就可以帮助你梳理思路。那么下面就给大家介绍一下绘制步骤。 在进行思维导图绘制的…

抽象工厂模式-java实现

介绍 抽象工厂模式基于工厂方法模式引入了“产品族”的概念,即我们认为具体产品是固定的,具体产品存在等级之分,比如我们常说的手机,有“青春版”,“至尊版”,“至臻版”。一个产品有多个版本族。这时候&a…

lvs+keepAlived高可用部署

LVSKeepAlived高可用部署实战 1. 构建高可用集群 1.1 什么是高可用集群 高可用集群(High Availability Cluster,简称HA Cluster),是指以减少服务中断时间为目的的服务器集群技术。它通过保护用户的业务程序对外部不间断的提供服…

【果树农药喷洒机器人】Part5:基于深度相机与分割掩膜的果树冠层体积探测方法

文章目录 一、引言二、树冠体积测量对比方法2.1冠层体积人工测量法2.2冠层体积拟合测量法 三、基于深度相机与分割掩膜探测树冠体积方法3.1像素值与深度值的转换3.2树冠体积视觉探测法3.3实验分析 总结 一、引言 果树靶标探测是实现农药精准喷施的关键环节,本章以果…

Java集合中的Set和Map:理解两类集合的特点与用途

文章目录 引言Set集合:独特性与无序性HashSet:快速查找LinkedHashSet:保持插入顺序TreeSet:自然排序 Map集合:键值对的存储HashMap:高效查找LinkedHashMap:保持插入顺序TreeMap:有序…

七月学习总结

一晃暑期七月份已经结束了,八月份需要做的事情更多。 在成长的路上不断地迷茫,不断地前进。到底才能完成对自己地救赎。 目前想的就是以后走软件开发,往架构方向做,主语言Java或者go,408基础一定要扎实,计…

natapp内网穿透

网络穿透 什么是内网穿透? 内网穿透简单来说就是将内网外网通过natapp隧道打通,让内网的数据让外网可以获取 。我门开发的app项目的时候,必须通过irs的配置来实现访问,但是irs配置必须要配置外网地址我们通过ip是不可以访问到的,这就需要na…

VMware16.2.5版本虚拟机克隆服务步骤(图解版)

目录 一、VMware16.2.5版本虚拟机克隆服务具体步骤二、VMware16.2.5版本虚拟机克隆服务后如何配置静态ip 一、VMware16.2.5版本虚拟机克隆服务具体步骤 1.1、先停止需要克隆的服务,选中需要克隆的服务——>鼠标右键选择【电源】——>【关闭客户机】&#xff…

【JAVA】有关时间的操作在编程中如何实现?

个人主页:【😊个人主页】 系列专栏:【❤️初识JAVA】 文章目录 前言Date 类Date 类方法Data的缺陷实例获取当前日期时间日期比较java中设置date数据的显示格式 前言 在许多应用程序中,日期和时间的处理是必不可少的。Java提供了一…

【CSS3】CSS3 动画 ② ( 动画序列 | 使用 from 和 to 定义动画序列 | 定义多个动画节点 | 代码示例 )

文章目录 一、动画序列二、代码示例 - 使用 from 和 to 定义动画序列三、代码示例 - 定义多个动画节点 一、动画序列 定义动画时 , 需要设置动画序列 , 下面的 0% 和 100% 设置的是 动画 在 运行到某个 百分比节点时 的 标签元素样式状态 ; keyframes element-move { 0% { tr…

3.1 计算机网络和网络设备

数据参考:CISP官方 目录 计算机网络基础网络互联设备网络传输介质 一、计算机网络基础 1、ENIAC:世界上第一台计算机的诞生 1946年2月14日,宾夕法尼亚大学诞生了世界上第一台计算机,名为电子数字积分计算机(ENIAC…

计算机网络—TCP

这里写目录标题 TCP头格式有哪些为什么需要TCP,TCP工作在哪什么是TCP什么是TCP连接如何确定一个TCP连接TCP和UDP的区别,以及场景TCP和UDP能共用一个端口?TCP的建立TCP三次握手过程为什么是三次握手、不是两次、四次why每次建立连接&#xff0…

网工内推 | 高校招网工、运维,可落户厦门,IE认证优先

01 厦门工学院 招聘岗位:网络工程师 职责描述: 1.负责学校网络架构的规划、设计、调整和性能优化,确保网络的性能、稳定和安全性。 2.负责网络类、安全类,智慧教室等系统集成项目整体技术方案设计及配合项目实施。 3.对建设项目进行跟踪,参与…

青少年CTF训练平台 SSH01-04

SSH-01 隐藏的文件.flag.txt SSH-02 配置了ssh和apt查看配置文件 第一个flag在 /etc/apt/sources.list 第二个flag/etc/ssh/sshd_config qsnctf{781dc104-1fc2-4de5-9b6e-c457ef64f799}SSH-03 提示flag是某个用户的用户名查看/etc/passwd文件 SSH-04 提示黑客带着f…

用PointNet分类3D点云

在本教程中,我们将学习如何训练PointNet进行分类。 我们将主要关注数据和训练过程; 展示如何从头开始编码 Point Net 的教程位于此处。 本教程的代码位于这个Github库中,我们将使用的笔记本位于这个Github库中。 一些代码的灵感来自于这个Git…

【计算机网络笔记】第二章物理层

物理层 1、四大特性 ①机械特性:接口是怎样的(接口所用接线器的形状和尺寸,引脚数目和排列,固定和锁定装置等)。 ②电气特性:用多少的电 ③功能特性:线路上电平电压的特性 ④过程特性&#xf…

高通GPIO寄存器值参数意义和设置(深度理解)

目录 1、GPIO寄存器参数值及含义 2、读写寄存器地址 3、施密特触发器引起的滞后 4、高通设备树pinctrl的定义及配置 5、高通设备树GPIO的msmxxxx-pinctrl.dtsi结构定义 本文主要介绍基于高通的gpio配置,其中最少见的就是配置gpio的滞后效应引起的电压偏移对实际使用…