Python采集网易云音乐

Python爬虫实战之爬取web网易云音乐——解析 网易云音乐爬虫,以python代码中execjs模块进行爬取,对细节进行具体的分析。 阅读详情

  大家好,我是不温卜火,是一名计算机学院大数据专业大三的学生,昵称来源于成语—不温不火,本意是希望自己性情温和。作为一名互联网行业的小白,博主写博客一方面是为了记录自己的学习过程,另一方面是总结自己所犯的错误希望能够帮助到很多和自己一样处于起步阶段的萌新。但由于水平有限,博客中难免会有一些错误出现,有纰漏之处恳请各位大佬不吝赐教!暂时只在csdn这一个平台进行更新,博客主页:https://buwenbuhuo.blog.youkuaiyun.com/。
1

PS:由于现在越来越多的人未经本人同意直接爬取博主本人文章,博主在此特别声明:未经本人允许,禁止转载!!!

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!??¤
QQ群:623406465

目录

 


2


前几篇博文,爬取的都是比较常规的网站。大家是不是都有点腻了呢?如果大家感觉腻了的话,博主此次带来的比较新奇的内容。如果大家没有腻的话,当我没说。话不多说,网抑云时间到了!

3

一、URL分析

在此,博主爬取的是网易云网页版,因为一般网页版都是最好爬取的,不要问我为什么,问就是不会!
26

网易云网页版链接:https://music.163.com/
歌手信息链接:https://music.163.com//discover/artist

4
但是由上图我们可以看出,虽然直接给出了网页链接,但是我们通过查看网页源代码,发现我们想要爬取的信息并没有在这个网页中。

这个时候,我们就需要通过Sreach查找歌手信息,从而得到我们所需要的各种信息。
5
我们首先就以薛之谦为例
6
通过上图,我们可以知道我们所需要的爬取内容的网址:
7
我们可以多尝试几次,然后就会发现每个分类代表其中一个id
8

规律来了,那么我们是不是就可以使用xpath进行解析提取了呢? 我们可以先试验一下:
9
我们发现这个页面是不能直接使用xpath进行解析得,xpath只能解析html标签。因为该网页携带有iframe标签,内容有不规则内容。
27
既然出现问题了,那么我们首先要想的就是要解决xpath不能进行解析这一问题。

通过验证我们发现,虽然在页面插件中不能访问,但是我们发现向另一个url发送请求依然可以获取数据,且里面没有iframe,可以直接使用xpath。

测试代码如下:

import requests
from lxml import etree

headers={
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36',
}
base_url = "https://music.163.com/discover/artist/cat?id=1001"

response = requests.get(url=base_url, headers=headers)
html = response.content.decode("utf-8")
print(html)

我们通过查找iframe,发现里面没有包含iframe,这里就可以直接使用xpath进行解析了
10
查找华语男歌手
11
先把华语男歌手这一部分复制出来

<li><a href="/discover/artist/cat?id=1001"
class="cat-flag z-slt"
data-cat="1001">华语男歌手</a>
</li>

我们先来尝试使用xpath进行解析

# 只有华语男歌手
ret = etree_obj.xpath('//a[@class="cat-flag z-slt"]/text()')
print(ret)

12
🆗,我们发现,可以获取到华语男歌手,那么我们尝试获取所有歌手的分类

# 所有歌手
ret = etree_obj.xpath('//a[@class="cat-flag"]/text()')
print(ret)

13
获取了分类之后,我们就可以获取到每个类所对应的链接

# 链接
ret = etree_obj.xpath('//a[@class="cat-flag"]/@href')
print(ret)

14
下面就开始看看拼接的URL能否正常打开

"""
华语男歌手: https://music.163.com/discover/artist/cat?id=1001
华语女歌手: https://music.163.com/discover/artist/cat?id=1002
"""

15
🆗,我们发现正是我们想要爬取内容的URL,至于前两个推荐歌手以及入住歌手为什么不爬取,是因为推荐的这些歌手都在我们要爬取的分类之中,如果全部爬取,会出现重复现象。
28

二、局部代码实现

2.1 获取所有的歌手类型

def get_type_url():
    """获取所有的歌手类型"""
    types = []

    html = parse_url(start_url)
    etree_obj =parse_html(html)
    type_name_list = etree_obj.xpath('//a[@class="cat-flag"]/text()')
    # print(type_name_list)
    type_url_list = etree_obj.xpath('//a[@class="cat-flag"]/@href')
    data_zip = zip(type_name_list[1:],type_url_list[1:])

    for data in data_zip:
        type = {}
        type["name"] = data[0]
        type["url"] = data[1]
        types.append(type)

    return types

16

2.2 爬歌手数据

  •  1. 分析
    17
    把此部分的源码拿出来
<a href=" /artist?id=5781" class="nm nm-icn f-thide s-fc0" title="薛之谦的音乐">薛之谦</a>
<a class="f-tdn" href="/user/home?id=97137413" title="薛之谦的个人主页"><i class="u-icn u-icn-5"></i></a>
  •  2. 代码
def get_data(url, type_name):
    """爬歌手数据"""
    item = {
        "type": type_name,
        "name": "",
        "url": ""
    }

    html = parse_url(url)
    etree_obj = parse_html(html)
    artist_name_list = etree_obj.xpath('//a[@class="nm nm-icn f-thide s-fc0"]/text()')
    artist_url_list = etree_obj.xpath('//a[@class="nm nm-icn f-thide s-fc0"]/@href')

    data_zip = zip(artist_name_list, artist_url_list)
    for data in data_zip:
        item["name"] = data[0]
        item["url"] = base_url + data[1][1:]
        items.append(item)

18
我们通过观察,发现歌手正好是100个,说明我们已经成功拿到数据了。
29

2.3 发现问题

  •  1.分析

19
经过上述过程,我们已经把数据拿全了。但是我们经过查看,发现我们拿的数据并不准确,我们发现我们拿的数据应该是从A到Z才对。

并且通过点击,我们也是发现有规律的,规律如下

https://music.163.com/#/discover/artist/cat?id=1001&initial=65
https://music.163.com/#/discover/artist/cat?id=1001&initial=66
https://music.163.com/#/discover/artist/cat?id=1001&initial=90

通过上述的规律,我们发现还要在我们已经获取的URL的基础上再加上&initial=(65,90)才行

  •  2. 实现
def start():
    """开始爬虫"""
    types = get_type_url()
    # print(types)
    for type in types:
        # url = base_url+type["url"]
        # url还不够完整
        # print(url)
        for i in range(65,91):
            url = "{}{}&initial={}".format(base_url,type["url"],i)
            print(url)
            get_data(url, type["name"])

20
30

三、完整代码

# encoding: utf-8
'''
  @author 李华鑫
  @create 2020-10-08 8:27
  Mycsdn:https://buwenbuhuo.blog.youkuaiyun.com/
  @software: Pycharm
  @file: 作业:网易云音乐.py
  @Version:1.0
  
'''
"""
华语男歌手: https://music.163.com/discover/artist/cat?id=1001
华语女歌手: https://music.163.com/discover/artist/cat?id=1002
"""
import requests
import random
import csv
import time
from lxml import etree

# num = [1001,1002,1003,2001,2002,2003,6001,6002,6003,7001,7002,7003,4001,4002,4003]
base_url = "https://music.163.com/"
# start_url = "https://music.163.com/discover/artist/cat?id=1001"
start_url = "https://music.163.com/discover/artist/"
headers={
    'User-Agent': 'Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36',
}

items = []

def parse_url(url):
    """解析url,得到响应内容"""
    time.sleep(random.random())
    response = requests.get(url=url,headers=headers)
    return response.content.decode("utf-8")


def parse_html(html):
    """使用xpath解析html,返回xpath对象"""
    etree_obj = etree.HTML(html)
    return etree_obj


def get_type_url():
    """获取所有的歌手类型"""
    types = []

    html = parse_url(start_url)
    etree_obj =parse_html(html)
    type_name_list = etree_obj.xpath('//a[@class="cat-flag"]/text()')
    # print(type_name_list)
    type_url_list = etree_obj.xpath('//a[@class="cat-flag"]/@href')
    data_zip = zip(type_name_list[1:],type_url_list[1:])

    for data in data_zip:
        type = {}
        type["name"] = data[0]
        type["url"] = data[1]
        types.append(type)

    return types

def get_data(url, type_name):
    """爬歌手数据"""
    item = {
        "type": type_name,
        "name": "",
        "url": ""
    }

    html = parse_url(url)
    etree_obj = parse_html(html)
    artist_name_list = etree_obj.xpath('//a[@class="nm nm-icn f-thide s-fc0"]/text()')
    artist_url_list = etree_obj.xpath('//a[@class="nm nm-icn f-thide s-fc0"]/@href')

    data_zip = zip(artist_name_list, artist_url_list)
    for data in data_zip:
        item["name"] = data[0]
        item["url"] = base_url + data[1][1:]
        items.append(item)

def save():
    """将数据保存到csv中"""
    with open("./wangyinyun.csv", "a", encoding="utf-8") as file:
        writer = csv.writer(file)
        for item in items:
            writer.writerow(item.values())



def start():
    """开始爬虫"""
    types = get_type_url()
    # print(types)
    for type in types:
        # url = base_url+type["url"]
        # url还不够完整
        # print(url)
        for i in range(65,91):
            url = "{}{}&initial={}".format(base_url,type["url"],i)
            print(url)
            get_data(url, type["name"])
    save()
            # exit()

if __name__ == '__main__':
    start()

"""测试代码"""
# start_url = "https://music.163.com/discover/artist/cat?id=1001&initial=65"   a _ z
# response = requests.get(url=base_url,headers=headers)
# # print(response.content.decode("utf-8"))
# html = response.content.decode("utf-8")
# print(html)
# etree_obj = etree.HTML(html)
# # 只有华语男歌手
# # ret = etree_obj.xpath('//a[@class="cat-flag z-slt"]/text()')
# # 所有歌手
# ret = etree_obj.xpath('//a[@class="cat-flag"]/text()')
# print(ret)
# print(len(ret))
#
# # 链接
# ret = etree_obj.xpath('//a[@class="cat-flag"]/@href')
# print(ret)

"""
<li><a href="/discover/artist/cat?id=1001"
class="cat-flag z-slt"
data-cat="1001">华语男歌手</a>
</li>

https://music.163.com/discover/artist/cat?id=1001&initial=65
"""

31

四、运行结果

21
22

美好的日子总是短暂的,虽然还想继续与大家畅谈,但是本篇博文到此已经结束了,如果还嫌不够过瘾,不用担心,我们下篇见!

码农武:爬取网易云音乐 time.sleep(5) # 5秒的延迟,具体延迟时间可以根据需要调整。time.sleep(5) # 5秒的延迟,具体延迟时间可以根据需要调整。singer_url = input("请输入你要下载的歌手页的链接")print('下载成功'%music_name)print('下载成功'%music_name)1.下载歌曲从哪里来的?网易云音乐网站的服务器下载下来的。借助requests工具,请求目标地址。右键---检查---network。music_name='一首歌' 阅读详情

相关推荐

用Python爬取网易云歌单

最近,博主喜欢上了听歌,但是又苦于找不到好音乐,于是就打算到网易云的歌单中逛逛本着 “用技术改变生活” 的想法,于是便想着写一个爬虫爬取网易云的歌单,并按播放量自动进行排序这篇文章,我们就来讲讲怎样爬取网易云歌单,并将歌单按播放量进行排序。

Avaricious_Bear的博客 2756

简单获取网易云音乐MP3 源地址的方法

2. 真实地址为 https://music.163.com/song/media/outer/url?

老街的酒香 3万+

Python爬虫采集网易云音乐热评实战

前一段时间刚刚入门python爬虫,有大概半个月时间没有写python了,都快遗忘了。于是准备写个简单的爬虫练练手,我觉得网易云音乐最优特色的就是其精准的歌曲推荐和独具特色的用户评论,于是写了这个抓取网易云音乐热歌榜里的热评的爬虫。我也是刚刚入门爬虫,有什么意见和问题欢迎提出,大家一起共同进步。 废话就不多说了~ 很多人学习python,不知道从何学起。 很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。 很多已经做案例的人,却不知道如何去学习更加高深的知识。 那么针对这三类人,我给大

Python_sn的博客 1118

网易云音乐直链提取及下载

网易云音乐直链提取 1 网易云音乐的下载方法,歌曲的id有两种方式可以获得。 第一种进入网页版的网易云,选中播放的歌曲,进入播放的详情页,此时地址栏的链接里就有音乐的ID(id)。 AIP 地址 http://music.163.com/song/media/outer/url?id=歌曲ID.mp3 2 这边得到的 ID 为 1831697228 替换掉上面的 API 里面的,得到下面的地址 http://music.163.com/song/media/outer/url?id=1831697228

泽里 3万+

Python 爬虫实战:网易云音乐登录解密(加密参数逆向 + 音乐数据采集)

网易云音乐作为国内流行的音乐平台,拥有海量的音乐资源和用户数据。通过爬取网易云音乐的数据,我们可以进行音乐推荐、用户行为分析等。本文将详细介绍如何使用 Python 爬取网易云音乐的数据,包括登录解密和音乐数据采集。

yansideyucsdn的博客 2815

Python爬虫实战:网易云音乐歌单数据采集与分析

随着互联网音乐的普及,网易云音乐作为国内领先的音乐平台,积累了海量的用户数据和歌单信息。本文将通过Python爬虫技术,详细介绍如何高效、合规地采集网易云音乐歌单数据,并利用最新的技术栈进行数据分析和可视化。文章将涵盖爬虫基础知识、反爬虫策略应对、数据存储与分析等全方位内容,为读者提供一套完整的网易云音乐数据采集解决方案。网易云音乐自2013年上线以来,凭借其独特的社交属性和个性化推荐系统,迅速成为中国最受欢迎的音乐平台之一。

2201_76125261的博客 1458

毕业设计:基于Python网易云音乐数据采集分析可视化系统+分析大屏 Flask框架 (附源码)建议收藏

毕业设计:基于Python网易云音乐数据采集分析可视化系统+分析大屏 Flask框架 (附源码)建议收藏

q_3375686806的博客 4268

Python爬虫实战:网易云音乐歌单与评论数据采集全解析

数据采集是数据分析与挖掘的基础环节,核心在于理解接口调用、请求构造与响应解析的原理。通过API接口和requests会话管理,开发者可以实现稳定的网络数据抓取,并借助SQLite存储与数据清洗手段提升数据质量。爬虫技术广泛应用于舆情分析、用户偏好研究、市场调研等场景,而实际工程中还需关注限流策略、反爬机制与异常重试等关键技术。本文以网易云音乐为案例,详细讲解歌单、歌曲详情及评论数据的抓取流程,并分享应对风控的实战经验,帮助读者构建从数据获取到落地的完整爬虫知识体系。

weixin_30899023的博客 226

Python网易云音乐数据采集分析可视化系统+分析大屏 Flask框架

本项目实现了以下主要功能:网易云歌单数据的采集和处理,包括歌单基本信息、歌曲列表、评论数、分享量、创建时间等多种数据。将数据保存到MySQL数据库中,以便后续进行数据分析和管理。实现了后台数据管理功能,包括用户登陆注册、用户管理、公告管理以及歌单数据管理等多种功能。1、用户管理界面2、歌曲管理界面3、注册登录界面4、后台首页5、数据采集爬虫界面🍅。

qq_80213251的博客 1252

TortoiseSVN的安装与使用

TortoiseSVN的安装与应用1、安装1.1、下载TortoiseSVN    点击下载TortoiseSvn1.2、下载汉化包。上面的页面中,找到Chinese, simplified汉化包,点击32位或者64位的Setup,下载汉化包。1.3、安装TortoiseSVN。在选择安装路径页面时要记得勾选“command line client tools”,默认不是勾选的。这里不勾选的话在I...

qq_28566071的博客 4万+

双目相机立体匹配算法概述(含Python代码)

立体匹配任务是计算机视觉中的一个重要问题,旨在从一对具有相同场景的图像中估计每个像素的视差(disparity)。本文对现有的传统算法和深度学习算法进行了综述,以便于各位选择合适的立体匹配算法用于深度估计或三维建模。

m0_59257547的博客 8291

Python网易云音乐数据采集分析可视化系统+分析大屏 Flask框架 大数据毕业设计

后端:Flask、PyMySql、pandas、requests、bs4 前端:HTML、Jquery、Ajax、LayUI、Echarts本项目主要采用了Python的request库、bs4库实现了网易云歌单数据的采集,然后使用pymysql将数据保存到MySQL数据库中。在数据清洗和处理方面,采用了Pandas等库来进行数据清洗和处理,从而得到干净、规范的数据。 在可视化分析方面,采用了Echarts技术实现歌单创建省份数量中国地图、最受欢迎的歌单类型TOP7,歌单分享量和评论数变化,歌单歌曲数量范围

qq_80213251的博客 1620

磁编码器选型避坑指南:为什么MT6816比霍尔传感器更适合你的伺服系统?

本文深入对比了MT6816磁编码器与传统霍尔传感器在伺服系统中的应用。MT6816基于AMR技术,对磁场方向敏感而非强度,具备高精度、强抗干扰、高安装容差和极低延时等优势,尤其适合高转速、恶劣环境下的工业场景,能有效提升系统可靠性与长期稳定性。

rainy的博客 1103

基于Python网易云音乐数据采集分析可视化系统+分析大屏 Flask框架

本项目实现了以下主要功能:网易云歌单数据的采集和处理,包括歌单基本信息、歌曲列表、评论数、分享量、创建时间等多种数据。将数据保存到MySQL数据库中,以便后续进行数据分析和管理。实现了后台数据管理功能,包括用户登陆注册、用户管理、公告管理以及歌单数据管理等多种功能。1、用户管理界面2、歌曲管理界面3、注册登录界面4、后台首页5、数据采集爬虫界面。

QQ80213251的博客 798

FreeRTOS面试题汇总

如果一个低优先级的任务持有一个信号量,高优先级的任务想要用这个信号量,造成的死锁怎么解决。12.FreeRTOS的多任务之间如何去进行通信的,什么方法,它实现原理是什么。任务间数据传输一共有三种形式,用的最多的是消息队列,其次是全局变量和信号量。简历上写了了解RTOS,问了rtos的问题,用过哪些函数。讲解FreeRtos原理,调度机制,底层原理,代码调用。FreeRTOS,你的三个任务控制,请问你是怎么实现的。freertos中EventBits_t是干啥的?freertos使任务切换的方式有哪些?

weixin_45636780的博客 1万+

【实战指南】DBeaver EE Windows版高效破解与配置全解析

本文详细解析了DBeaver EE Windows版的高效破解与配置方法,涵盖Java环境配置、破解包部署、配置文件修改等关键步骤,并提供了性能优化和数据库连接的最佳实践。适用于需要解锁企业版高级功能的数据库开发人员,帮助提升工作效率。

weixin_28837817的博客 1902

大数据毕业设计:Python网易云音乐数据采集分析可视化系统

Python语言+ SQL语言 +HTML语言数据爬取:selenium模块+request库数据存储:SQLite数据库 (通过Navicat软件查看)后端搭建:Flask框架前端搭建:Bootstrap框架图表展现:ECharts可视化词云制作:pyplot库+jieba库+wordcloud库+Image+numpy数据分析库。

QQ80213251的博客 679

论文阅读笔记---Deep HDR Video from Sequences with Alternating Exposures

Kalantari N K, Ramamoorthi R. Deep HDR Video from Sequences with Alternating Exposures[C]//Computer Graphics Forum. 2019, 38(2): 193-205. 摘要: 在本文中,提出了一种基于学习的方法来,我们使用两个顺序卷积神经网络(CNN)对整个HDR视频重建过程进...

qq_25283239的博客 1447

Python网易云音乐数据采集分析可视化系统

Python语言+ SQL语言 +HTML语言数据爬取:selenium模块+request库数据存储:SQLite数据库 (通过Navicat软件查看)后端搭建:Flask框架前端搭建:Bootstrap框架图表展现:ECharts可视化词云制作:pyplot库+jieba库+wordcloud库+Image+numpy数据分析库。

QQ80213251的博客 674

YOLOv8剪枝 稀疏训练+slim剪枝测试精度仅掉1.6个点,速度提高10.3fps!

摘要 本文介绍了YOLOv8剪枝方法Slim(Network Slimming),通过L1正则化作用于BN层的缩放因子(γ),自动识别并剪除冗余通道,实现模型轻量化。核心步骤包括:稀疏训练(引入L1正则化)、通道剪枝(按γ阈值裁剪)、微调恢复精度。实验表明,该方法能有效压缩模型大小、减少计算量,且支持通过调整speed_up等超参数控制剪枝强度。移植代码需修改C2F模块以适配剪枝,并配置稀疏训练参数(如reg、sl_epochs)。最终剪枝模型需移除优化器以减小体积,但不支持多卡训练。

FJN110的博客 861

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

Python爬虫实战:网易云音乐数据采集与结构化存储

网络爬虫是一种自动化获取网页数据的程序,其核心原理是模拟浏览器发送HTTP请求并解析响应内容。在数据采集领域,爬虫技术能高效地将非结构化页面转化为结构化数据,为数据分析、统计和研究提供基础。常见应用场景包括公开数据整理、市场调研和内容聚合。以音乐平台为例,通过分析前端异步接口,使用Python的requests库抓取歌单、歌手及歌曲信息,结合SQLite实现去重存储,并采用随机限速与指数退避策略保障稳定性。本文围绕网易云音乐公开页面的数据采集项目,详细拆解从接口分析到入库验证的全流程,帮助开发者掌握爬虫工程

weixin_33802505的博客 170

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

毕业设计:基于Python网易云音乐数据采集分析可视化系统+分析大屏 Flask框架

本项目实现了以下主要功能:网易云歌单数据的采集和处理,包括歌单基本信息、歌曲列表、评论数、分享量、创建时间等多种数据。将数据保存到MySQL数据库中,以便后续进行数据分析和管理。实现了后台数据管理功能,包括用户登陆注册、用户管理、公告管理以及歌单数据管理等多种功能。🍅由于篇幅限制,获取完整文章或源码、代做项目的,查看主页【专栏名称】或者【用户名】或者顶部的【选题链接】就可以找到我获取项目源码学习啦~🍅。

QQ79856539的博客 1104

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Python爬虫实战:网易云音乐评论数据采集与情感分析

网络爬虫是一种自动化获取网页数据的程序,其核心原理是模拟浏览器发送HTTP请求并解析响应内容。在数据驱动的时代,爬虫技术为舆情监控、用户行为分析等场景提供了高效的数据获取手段。通过Python的requests库,开发者可以轻松抓取公开接口数据,结合pandas进行清洗与分析,进而挖掘文本中的情感倾向与热点话题。以网易云音乐为例,其热评区蕴含丰富的用户表达,利用爬虫可批量采集评论内容、点赞数等字段,为词云生成或情感分析提供数据基础。这一过程不仅提升了数据采集效率,也降低了人工整理的成本,适用于内容运营、市场

weixin_42525289的博客 203
上一篇: 本周 GitHub 速览:自动化当道,破密、Python爬虫各凭本事
下一篇: Python自动化办公:PDF批量处理(打水印、加密码、分类放置)
Python_sn
博客等级 码龄6年 324粉丝 290原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值