爬虫入门(二)——请求模块

requests库中r.content 与 r.read() 的使用方式 通过本文的介绍,我们可以看到r.content和r.read()是requests库中两个常用的方法,用于获取HTTP响应的内容。r.content返回一个Bytes-like对象,用于获取二进制数据;而r.read()返回一个字符串,用于获取文本数据。在实际使用中,我们可以根据需要选择合适的方法来获取HTTP响应的内容。除了这些基本用法外,r.content和r.read()还有很多高级用法和参数可以设置。例如,我们可以使用参数stream=True来分块读取大文件; 阅读详情

 

 

1. urllib.request模块

   1-1 常用方法

1-2 响应对象

2.  urllib.parse模块

2-1 常用方法

3. 请求方式

4. requests模块

4-1 安装

4-2 request常用方法

4-3 响应对象response的方法

4-4 requests设置代理

4-5 requests模块发送 POST请求

4-6 cookie

4-7session

4-8 处理不信任的SSL证书


1. urllib.request模块

urllib.request模块是python的自带的模块,可能有些小伙伴习惯于使用python的第三方requests模块,的确,如果论书写简洁的话requests模块更具优势,但是urllib.request模块也是作为一名程序员需要掌握的基础。这里我们就来介绍一下这个爬虫的请求模块。

   1-1 常用方法

  • urllib.request.urlopen("网址")  作用 :向网站发起一个请求并获取响应
  • 字节流 = response.read()
  • 字符串 = response.read().decode("utf-8")
  • urllib.request.Request("网址",headers="字典")  urlopen()不支持重构User-Agent

这里以我最喜欢的动漫人物哆啦a梦为例,网址为http://www.doraemon.com/

上代码:

import urllib.request
url='http://www.doraemon.com/'
req=urllib.request.urlopen(url)
res=req.read()
print(res)

运行后是这个样子:

这是网页的源代码:

为什么看起来不一样(*Φ皿Φ*)?

不要着急,这是因为我们爬取信息时拿到的是一个字节流(bytes)类型的数据,而浏览器的源码信息是字符串类型的数据,所以我们只需要将拿到的数据转换为字符串类型的数据即可:

import urllib.request
url='http://www.doraemon.com/'
req=urllib.request.urlopen(url)
res=req.read().decode('utf-8')
print(res)

我们再看此时爬取的信息:

完成!!*★,°*:.☆( ̄▽ ̄)/$:*.°★* 

补充:encode()   字符串—>bytes数据类型

           decode()   bytes数据类型—>字符串

有些网站可能会设置一些反爬,此时我们就需要反反爬,即添加一个请求头来伪装成浏览器在浏览网页。这个时候就要先用urllib.request.Request("网址",headers="字典")来添加请求头,然后再用urllib.request.urlopen("网址")来获取响应对象。因为urlopen()不支持重构User-Agent,即无法直接向urllib.request.urlopen()中添加请求头。

以百度网站为例,“百度一下,你就知道”:https://www.baidu.com/

打开网址,右击鼠标,点击检查,在Network中找到第0个请求(一般)

点击这个请求,点击Headers,在Request Headers中找到User-Agent 然后复制

代码如下:

import urllib.request
url='http://www.baidu.com/'
headers={
    'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/81.0.4044.129 Safari/537.36'
}
req=urllib.request.Request(url,headers=headers)
res=urllib.request.urlopen(req)
html=res.read().decode('utf-8')
print(html)

 

1-2 响应对象

  • read()  读取服务器响应的内容
  • getcode() 返回HTTP的响应码
  • geturl()  返回实际数据的URL(防止重定向问题)

2.  urllib.parse模块

2-1 常用方法

  • urlencode(字典)(给字符串设置编码)
  •  quote(字符串) (这个里面的参数是个字符串)

我们先看第一种方法,直接上代码:

import urllib.parse
name={'wd':'哆啦a梦'}
name=urllib.parse.urlencode(name)
print(name)

运行后得到16进制的编码:

 

第二种方法就是将字典换成字符串,直接给代码:

import urllib.parse
name='哆啦a梦'
name=urllib.parse.quote(name)
print(name)

3. 请求方式

  • GET  :查询参数在URL地址中显示
  • POST
  • 在Request方法中添加data参数 urllib.request.Request(url,data=data,headers=headers)(注意:urllib.request.urlopen("url")不支持重构,因此需要先用urllib.request.Request(url,data=data,headers=headers)的方法写入请求头,然后再用urllib.request.urlopen("url")获取网页信息
  • data :表单数据以bytes类型提交,不能是str(字符串)类型。

4. requests模块

4-1 安装

  • 在Mac电脑里打开终端软件(terminal),输入pip3 install requests,然后点击enter即可;Windows电脑里叫命令提示符(cmd),输入pip install requests 即可。

4-2 request常用方法

  • requests.get(⽹址)
# 引入requests库
import requests

# requests.get是在调用requests库中的get()方法,它向服务器发送了一个请求,括号里的参数是你需要的数据所在的网址,然后服务器对请求作出了响应。
# 我们把这个响应返回的结果赋值给变量res
res = requests.get('URL')

4-3 响应对象response的方法

  • response.text 返回unicode格式的数据(str)
  • response.content 返回字节流数据(⼆进制)
  • response.content.decode('utf-8') ⼿动进⾏解码
  • response.url  返回url
  • response.encode() = ‘编码’

 

4-4 requests设置代理

4-5 requests模块发送 POST请求

  • requests模块发送 POST请求

        post和get都可以带着参数请求,不过get请求的参数会在url上显示出来。但post请求的参数就不会直接显示,而是隐藏起来。像账号密码这种私密的信息,就应该用post的请求。如果用get请求的话,账号密码全部会显示在网址上,这显然不科学!你可以这么理解,get是明文显示,post是非明文显示。

以有道翻译为例,网址为:http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule

打开开发者工具,在输入框中输入要翻译的内容,然后把Network面板清空,再点击一下翻译,看看有没有多出来的新XHR,多出来的那一个就是我们要找的,如下图的translate_o?... 然后点击Headers-Form Data,找到data数据。

 

完整的代码如下:

import urllib.request
import urllib.parse
import json

# 请输入你要翻译的内容

key = input('请输入您要翻译的内容:')

# 把提交的form表单的数据转换为bytes类型的数据

data = {
    'i': key,
    'from': 'AUTO',
    'smartresult': 'dict',
    'client': 'fanyideskweb',
    'salt': '15880623642174',
    'sign': 'c6c2e897040e6cbde00cd04589e71d4e',
    'ts': '1588062364217',
    'bv': '42160534cfa82a6884077598362bbc9d',
    'doctype': 'json',
    'version': '2.1',
    'keyfrom':'fanyi.web',
    'action': 'FY_BY_CLICKBUTTION'

}

data = urllib.parse.urlencode(data)

# 把data转换成自己
data = bytes(data,'utf-8')

# 发请求获取响应 注意 需要去掉_o
url = 'http://fanyi.youdao.com/translate?smartresult=dict&smartresult=rule'

headers = {
        'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.88 Safari/537.36'
    }

req = urllib.request.Request(url,data=data,headers=headers)
res = urllib.request.urlopen(req)
html = res.read().decode('utf-8')
# 把json类型的字符串转换为字典
r_dict = json.loads(html)
# {"type":"EN2ZH_CN","errorCode":0,"elapsedTime":1,"translateResult":[[{"src":"name","tgt":"的名字"}]]}

r = r_dict['translateResult'] #  [[{"src":"name","tgt":"的名字"}]]
result = r[0][0]['tgt'] # [{"src":"name","tgt":"的名字"}] -->{"src":"name","tgt":"的名字"}
print(result)

点击运行后输入想要翻译的内容,然后回车键,出现如下结果:

 

4-6 cookie

  • cookie :通过在客户端记录的信息确定⽤户身份

HTTP是⼀种⽆连接协议,客户端和服务器交互仅仅限于 请求/响应过程,结束后断开,下⼀次请求时,服务器会认为是⼀个新的客户端,为了维护他们之间的连接,让服务器知道这是前⼀个⽤户发起的请求,必须在⼀个地⽅保存客户端信息。

4-7session

  • session :通过在服务端记录的信息确定⽤户身份,这⾥这个session指的就是⼀个是会话

4-8 处理不信任的SSL证书

什么是SSL证书?

  •  SSL证书是数字证书的⼀种,类似于驾驶证、护照和营业执照的电⼦副本。因为配置在服务器上,也称为SSL服务器证 书。SSL 证书就是遵守 SSL协议,由受信任的数字证书颁发机构CA,在验证服务器身份后颁发,具有服务器身份验证和数据传输加密功能

比如我们想要访问这个网站:https://inv-veri.chinatax.gov.cn/

如果我们直接爬取的话会显示这样的报错:

查看网页证书信息会显示:无法将这个证书验证到一个受信任的证书颁发机构,也就是我们之所以会发生报错是因为SSL证书不受信任,那么怎么解决这个问题呢?很简单,只要在requests.get()中加上verify=False就可以了,意思就是告诉浏览器我们只是想要尝试连接一下。

import requests
url = 'https://inv-veri.chinatax.gov.cn/'

resp = requests.get(url,verify = False)

print(resp.text)

运行结果:

什么是网络爬虫 又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者,是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。网络爬虫可以根据指定的规则,从互联网上下载网页、图片、视频等内容,并抽取其中的有用信息进行处理。网络爬虫的工作流程包括获取网页源代码、解析网页内容、存储数据等步骤。根据其目的和工作方式的不同,网络爬虫可以分为多种类型。常见的网络爬虫包括通用爬虫、聚焦爬虫、增量式爬虫等。 阅读详情

相关推荐

视觉SLAM的前段后端最详细的梳理(硕士入门知识框架更新)

文章目录视觉SLAM的组成结构视觉里程计(VO)-特征点法 -构建稀疏点云地图-直接法 -构建稠密或半稠密的地图 --需要使用 RGB-D 传感器视觉里程计--总结:SLAM 后端研究滤波器法非线性优化后端方式的差异(有五种优化方式):单目视觉里程计的初始化:运动估计:半直接法运动估计的优化方案:关于解决累计误差的一些方法:关键帧的建图及后端优化:特征的深度估计:图优化的后端研究:视觉与IMU融合的分类:视觉与IMU的融合的优势:存在的问题:优秀的开源: 视觉SLAM的组成结构 视觉里程计(VO) -特

DC 6812

python爬虫学习笔记(一)

常用方法 print(response.read()) 读取内容,内容为字节类型 print(response.readlines()) 按行读取,内容为字节类型 print(response.getcode()) 获取状态码 print(response.getheaders()) 获取头部信息 print(response.geturl()) 获得当前的url print(response...

qq_46045647的博客 1217

DFRobot MGC3130电容式手势传感器库深度解析

电容式近场感应(Electric Near Field Sensing)是一种非接触、抗干扰的三维空间感知技术,其原理基于人体介电特性对高频电场的扰动响应,具备低功耗、高鲁棒性与零物理接触等核心优势。该技术广泛应用于医疗人机交互、工业HMI、智能家电等对可靠性与环境适应性要求严苛的嵌入式场景。DFRobot_MGC3130库正是面向Microchip MGC3130芯片的工程化实现,封装了I²C驱动、ASU硬件加速调度及多层抽象API,支持手势识别、触控检测与接近唤醒等功能动态切换。结合电容式近场感应与嵌入

weixin_34620658的博客 550

Response.read Response.test Response.content

一。各自的意思 须知:编码是将字符串转换为字节数组的过程,解码是将字节数组转换成字符串的过程。 response.read()              返回网页的源码--------->字节数组,并不是字符串。只有识别了网页所有的编码。例如utf8,将字节数组编码的规则进行解码,才能可以获得网页源码的字符串。 response.text()               返回的类型是s...

qq_35810838的博客 1879

基于Super-Jacoco的精准测试实践之路

灵魂拷问这个版本的影响范围到底有多大?研发改动了代码,为什么不通知测试?测试用例真的全面覆盖了吗?测试同学的测试覆盖情况该怎么评估?什么是精准测试概念借助技术手段、通过辅助算法对软件测试过...

咻咻ing的专栏 5841

对工时评估的思考:当AI颠覆了coding效率

在AI时代,“人日”作为软件工时度量衡已然失效。开发的价值核心正从“编码实现”转向“深度思考”与“精准沟通”——即如何将人类的模糊需求精确地传达给AI。当最有价值的“思想工作”变得最难量化时,传统的项目管理范式随之动摇。我们必须超越对过程的算计,开始探索衡量思想、沟通与业务价值的新标尺。

架构师刘7的博客 1017

python3爬虫学习笔记之请求库的使用(二)

我们在使用python爬虫时,需要模拟发起网络请求,主要用到的库有requests库和python内置的urllib库,一般建议使用requests,它是对urllib的再次封装,它们使用的主要区别: requests可以直接构建常用的get和post请求并发起,urllib一般要先构建get或者post请求,然后再发起请求。 get请求:使用get方式时,请求数据直接放在url中。 pos...

u012433049的博客 1152

高通SDX35:SGMII接口PHY RTL8211FSI-CG驱动适配

高通SDX35 RTL8211F SGMII

不秃头的程序猿Gabriel的博客 786

爬虫问题总结1

爬取HTML时的乱码和文件空白问题

weixin_51728945的博客 546

2025.06.06【Ribo-seq】|RiboCode:基于Ribo-seq数据的全基因组翻译ORF检测工具详解与实战流程

大家好!今天我们要学习的是RiboCode——一个专为Ribo-seq(核糖体足迹测序)数据设计的高质量翻译ORF(开放阅读框)检测工具。RiboCode能够帮助我们在全基因组范围内精准识别翻译事件,发掘经典CDS之外的uORF、dORF、重叠ORF等新型翻译本,极大拓展了我们对转录本翻译潜能的认知。RiboCode 是由清华大学杨学睿课题组开发的开源软件,支持Linux/Mac平台,采用Python实现。自动化流程:一条命令即可完成注释准备、P-site定位、ORF预测。高灵敏度与特异性。

1858

28、时间敏感网络中可靠性感知的综合路由与调度

本文针对时间敏感网络(TSN)中现有路由与调度机制主要关注时间触发(TT)流量而忽略其他类型流量效用的问题,提出了一种可靠性感知的综合路由与调度机制。通过将具有不同可靠性和延迟要求的各类流量的联合路由与调度问题形式化为基于优化模理论(OMT)的混合整数规划问题,设计了完整的路由约束与调度约束,并分析了不同类型流量的传输效用,设定了优化目标以提升整体网络性能。实验结果表明,该机制在满足TT流量严格时延与可靠性要求的同时,显著提高了AVB和BE等非关键流量的传输效用,实现了多类型流量的高效协同传输。

hhh00的博客 95

从入门到精通:网络爬虫开发实战总结

学习是一种持续不断的过程,无论在什么领域,都需要不断地努力和探索。在这段爬虫学习历程中,我不仅获得了丰富的知识和技能,也结交了很多志同道合的朋友和粉丝,他们对我的学习和进步都提供了极大的支持和鼓励,支持我继续写下去。 总的来说,这段时间的学习和写作让我认识到了自己的不足和缺陷,也让我更加坚定了继续学习和进步的决心。我相信,在未来的学习和工作中,这段经历将成为我前行的动力和支撑。在这里,我将过去写过的爬虫文章总结一下,不仅是在爬虫学习这里留下一个里程碑,也是为了能够总结一下阶段性学习成果。

weixin_50804299的博客 6560

SRS流媒体服务器在Windows下的安装

在之前的流媒体开发中(视频会议),我基本上使用nginx加模块的方式进行学习、测试,正式开发的时候改为服务器端用EasyDarwin,客户端用rtsp-simple-server(这些流媒体服务器的用法见我以前的博文),这样可以充分利用客户端的资源,降低服务器端的压力。在流媒体协议方案,我选择相对较快的rtsp。这个协议优点是支持UDP协议,优化好的环境下可以实现3秒以下的延迟,基本满足甲方要求,缺点就是不支持网页播放。

dgnankai的专栏 2023

网络爬虫解析

网络爬虫(也称为网页蜘蛛、网络机器人)是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。网络爬虫可以用于从网站提取数据,例如监测社交媒体平台上的活动,或者从网上收集新闻和文章。它们也可以用于搜索引擎,如Google和Bing,来抓取和索引网页,以便在用户进行搜索时提供结果。URL通常由多个部分组成,包括协议类型(如HTTP、HTTPS)、主机名(域名或IP地址)、路径(资源在主机上的位置)以及可选的查询参数(用于传递额外的信息)。通过URL,用户可以方便地访问和定位到特定的网络资源。

2301_82032652的博客 2634

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【愚公系列】《Python网络爬虫从入门到精通》001-初识网络爬虫

随着互联网的快速发展,数据的获取与处理变得愈发重要。在这个信息爆炸的时代,如何有效地收集和利用网络上的海量数据,成为了各行业面临的一大挑战。网络爬虫,作为一种自动化获取网页信息的技术,正逐渐成为数据分析、市场研究、竞争对手监控等领域不可或缺的工具。本文将带领读者初步了解网络爬虫的基本概念、工作原理以及常见应用场景。我们将探讨爬虫的构建过程,包括如何发送请求、解析网页、存储数据等关键步骤。同时,还会涉及一些爬虫开发中的注意事项,如如何遵循网站的robots.txt协议、避免被封禁等。

愚公智库 12万+

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

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

一、网络爬虫入门

文章目录一、都有哪些爬虫?二、网络爬虫是否合法?1.引入库2.读入数据三 、网络爬虫的约束。四、python网络爬虫的流程。总结 一、都有哪些爬虫? 网络爬虫按照系统结构和实现技术,大致可以分为以下几种类型: 通用网络爬虫、聚焦网络爬虫、增量式网络爬虫、深层网络爬虫。 实际的网络爬虫系统通常是几种爬虫技术相结合实现的。 搜索引擎(Search Engine),例如传统的通用搜索引擎baidu、Yahoo和Google等,是一种大型复杂的网络爬虫,属于通用性网络爬虫的范畴。但是通用性搜索引擎存在着一定的局限性

weixin_51852924的博客 7570

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Python 网络爬虫入门:开启数据采集之旅

网络爬虫,也称为网页蜘蛛,是一种按照一定规则自动抓取互联网信息的程序或脚本。它能够模拟人类在浏览器中的操作,访问网页、解析页面内容,并提取出我们感兴趣的数据,如文本、图片、链接等。例如,当我们想要收集某电商平台上特定商品的价格信息、用户评价,或者获取新闻网站的新闻标题和正文时,网络爬虫就可以派上用场。它可以在短时间内遍历大量的网页,将分散的数据集中起来,为后续的处理和分析提供素材。

m0_74620645的博客 3586

终于有人把网络爬虫讲明白了

摘要:Python网络爬虫的详尽解释。导读:网络爬虫也叫做网络机器人,可以代替人们自动地在互联网中进行数据信息的采集与整理。在大数据时代,信息的采集是一项重要的工作,如果...

苏克的博客 4342

爬虫——网页蜘蛛

大数据下的数据筛取技术

码刀攻城 1240

Python网络爬虫入门

Python网络爬虫入门 网络爬虫(web crawler),也叫网络蜘蛛(Web Spider)、网络机器人(Internet Bot)。简单地说,抓取万维网(World Wide Web)上所需要的数据的程序就叫网络爬虫。 网络爬虫常见分类: 通用网络爬虫(General Purpose Web Crawler)又称全网爬虫(Scalable Web Crawler)爬行对象从一些种子 URL 扩充到整个 Web,主要为门户站点搜索引擎和大型 Web 服务提供商采集数据。这类网络爬虫的爬行范围

cnds123的专栏 3133

网络爬虫基本原理介绍

需要注意的是,这只是一个简单的示例代码,实际编写爬虫时需要根据具体的网站结构和规则进行相应的调整和优化。根据其目的和工作方式的不同,网络爬虫可以分为多种类型,如通用爬虫、聚焦爬虫、增量式爬虫等。通用爬虫也称为广泛爬虫,其目的是全面抓取互联网上的所有网页,以尽可能地覆盖更多的网页。增量式爬虫也称为持续式爬虫,其目的在于定期更新已经抓取过的网页,并新增有变化的页面。编写网络爬虫需要具备一定的编程技能和经验,同时需要了解相关的法律法规和道德规范,尊重网站的知识产权和隐私权,避免对网站的正常运行造成干扰和损害。

日常笔记/总结/系列知识梳理 2725

网络爬虫入门

网络爬虫入门一、初识网络爬虫(一)网络爬虫定义(二)网络爬虫原理(三)使用范围(四)爬虫工作的过程(五)爬虫分类1.通用网络爬虫2.增量爬虫3.垂直爬虫4.Deep Web爬虫二、爬取南阳理工学院ACM题目网站 http://www.51mxd.cn/ 练习题目数据(一)新建.py文件(二)爬取结果(三)代码分析三、爬取重庆交通大学新闻网站中近几年所有的信息通知(http://news.cqjtu.edu.cn/xxtz.htm) 的发布日期和标题全部爬取(一)确定爬取信息的位置(二)代码实现(三)运行结果

”一只特立独行的猪“的博客 2947

【网络爬虫】网络爬虫之入门练习

目录一、网络爬虫基本介绍二、爬取南阳理工OJ题目1. 网页分析2. 内容爬取三、爬取重交新闻通知1. 网页分析2. 内容爬取四、总结五、参考 一、网络爬虫基本介绍   网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。   简单来说就是通过编写脚本模拟浏览器发起请求获取数据。爬虫从初始网页的URL开始, 获取初始网页上的URL,在抓取网页的过程中,不断从当前页面抽取新的url放入队列。直到满足系统给定的停止条件才停

YangMax1的博客 6521

网络爬虫入门指南:从原理到实践

网络爬虫是一项强大但需要谨慎使用的技术。通过本文的介绍,你应该已经了解了爬虫的基本原理、Python实现方法以及相关的高级技术和法律考量。记住,能力越大责任越大,在享受爬虫带来的便利时,也要遵守网络道德和相关法律法规。Scrapy框架分布式爬虫架构机器学习在数据抽取中的应用自然语言处理在文本分析中的使用希望这篇指南能帮助你在网络爬虫的世界中顺利启航!

CG13688785557的博客 1797

python网络爬虫入门

使用http库向目标站点发起请求,即发送一个Request.Request包含:请求头、请求体等。Request模块缺陷:不能执行JS 和CSS 代码。如果requests的内容存在于目标服务器上,那么服务器会返回请求内容。Response包含:html、Json字符串、图片、视频等。对用户而言,就是寻找自己需要的信息。对于Python爬虫而言,就是利用正则表达式或者其他库提取目标信息。解析html数据:正则表达式(RE模块),第三方解析库如Beautifulsoup,pyquery等;

2402_83134109的博客 1870
上一篇: 爬虫入门(一)——初识爬虫
下一篇: 爬虫入门(三)——正则表达式(用法+实操)
北木x
博客等级 码龄7年 6粉丝 13原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值