Node.js爬虫实战,轻松掌握nodejs

爬虫之矛---JavaScript基石篇2<window对象、Node.js和prototype/constructor的解析(2)> 原型和构造函数是JavaScript中重要的概念,它们构成了原型系统的基础。原型允许我们共享属性和方法,实现对象的扩展和继承。通过使用prototype和constructor属性,我们可以轻松地创建对象的继承关系,并在原型链上进行属性和方法的查找。深入理解和灵活运用原型和构造函数的概念,将使我们的JavaScript代码更加高效和可维护。在JavaScript开发中,我们经常需要在浏览器环境和Node.js环境中操作对象和实现功能。 阅读详情

B站视频链接:https://www.bilibili.com/video/av75510075

 

我的GitHub文件:https://github.com/Li-YangZhong/Node.js-nodejs.git

 

node -v //查看node版本

//

clear //清空屏幕内容


CNPM介绍:

 

  1. 说明:因为谷歌安装插件是从国外服务器下载,受网络影响大,可能出现异常,如果谷歌的服务器在中国就好了,所以我们乐于分享的淘宝团队干了这事来自官网:“这是一个完整npmjs.org镜像,你可以用此代替官方版本(只读),同步频率目前为10分钟一次以保证尽量与官方服务同步“。
  2. 官方网址:http://npm.taobao.org
  3. 安装:命令提示符执行npm install cnpm -g --registry=https://registry.npm.taobao.org
  4. 注意:安装完后最好查看其版本cnpm -v或关闭命令提示符重新打开,安装完直接使用有可能会出现错误 

注:CNPM跟NPM用法完全一致,只是在执行命令时将谷歌改为CNPM。

 

来自 <https://blog.youkuaiyun.com/jack_bob/article/details/80644376>


cnpm - 解决 " cnpm : 无法加载文件 C:\Users\93457\AppData\Roaming\npm\cnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息 。。。 "

1.在win10 系统中搜索框 输入 Windos PowerShell

选择 管理员身份运行

 

2,打开了powershell命令行之后,输入

set-ExecutionPolicy RemoteSigned

然后更改权限为A

最后通过 get-ExecutionPolicy 查看当前的状态

 

 完成。

 

来自 <https://www.cnblogs.com/500m/p/11634969.html>


cnpm install cheerio --save //安装cheerio

 

CTRL + C //终止正在执行的进程

Python+Selenium实现抖音博主批量监控:300+账号实时更新通知(附完整代码) 本文详细介绍了如何使用Python和Selenium构建一个高可用的抖音博主批量监控系统。通过架构设计、Cookie管理、高效轮询与差异检测等核心模块,实现300+账号的实时更新追踪与通知。文章提供了完整的代码实现,并重点探讨了性能优化、异常处理及服务器部署等实战经验,帮助开发者打造稳定、可控的自动化监控解决方案。 阅读详情

相关推荐

CanMV K230实战:用MicroPython玩转AI视觉识别(附完整代码)

本文详细介绍了如何使用MicroPython在CanMV K230开发板上实现AI视觉识别,包括环境搭建、摄像头配置、模型部署及优化技巧。通过实战案例(如智能门禁和工业分拣机器人),展示如何快速开发低门槛的嵌入式AI应用,特别适合初学者和嵌入式开发者。

x8y9z0的博客 1146

【插件】 - node.js 实现 爬虫 - 前提知识 、使用 - 【未完】

/* 1. 请求网站 2. */

LawssssCat的博客 581

企业级AI Agent平台建设方案

本报告将深入剖析构成一个顶级AI Agent平台的各个功能层面,为构建者提供一份全面的战略蓝图。

分享AI和大数据领域的知识和研究 1587

一次node.js爬虫实践

node.js爬虫实践 小猫的毕设系统需要一些疾病数据信息,于是决定从某医药网站上爬取相关数据。 小猫以前学爬虫的时候,用的是python,这次决定用node.js试试。 首先说说用node做一个简单的爬虫需要的库 request:用于http请求 iconv-lite:用于转换字符编码 cheerio:用于解析html, node-xlsx:将数据生成excel文件 一个简单的爬虫其实就是爬取网页,解析数据,存储数据。 小猫使用request获取网页,当然也可以选择其他方式,比如node自带的ht

qq_44041514的博客 588

ECC椭圆曲线加解密原理详解(配图)

椭圆曲线加解密原理详解 本文主要参照:ECC椭圆曲线详解(有具体实例)[1] 前言: 椭圆曲线(ECC)加密原理跟RSA加解密原理比起来,可真是晦涩难懂。拜读了大神Kalafinaian文章“ECC椭圆曲线详解(有具体实例)”,终于看到了参透的曙光。 由于原文中有微小的瑕疵,也为了便于阅读起来更加流畅,我重新整理了一下这篇文章。 为什么使用椭圆曲线加密算法? RSA的解决分解整数问题需要亚指数...

Mark的博客 7万+

4、I3C协议详解

I3C最初的设计目的是为移动设备创建一个能够使用多个传感器的单一接口。随着现代化移动设备对于传感器数量的增加以及对性能的提高,I2C和SPI已经达到了他们所能支持的临界点,而I3C的出现就是为了解决这一问题,I3C可以在同一根主线上支持更多的传感器设备,而且不会因为要支持中断或睡眠模式而增加额外的逻辑信号。I3C可以在更低功耗的情况下提供更快的传输速率,该特性的提升不止是对移动设备,对其他的嵌入式设备也都是很大的帮助。例如穿戴设备,需要在有限的物理空间中使用多个传感器并且要求更小的耗电。 一、简述..

迟子涵925的博客 2万+

用nodejs爬取热搜

最近想获取一个热搜,但是api要收费,干脆自己爬一个。新浪的试过了,浏览器只能第一次成功,就算登录也不行。

菜就多练 499

4.3 Langfuse 集成实战:追踪 OpenAI、LangChain 和 LangGraph 应用

本文介绍了如何将Langfuse集成到不同类型的AI应用中,包括原生OpenAI、LangChain和LangGraph应用。主要内容包括: 两种集成模式:手动追踪(精确控制)和自动追踪(通过回调机制) 三种应用场景的集成方案: 原生OpenAI应用:使用langfuse.trace()手动记录对话流程、LLM调用和工具执行 LangChain应用:通过LangfuseCallbackHandler自动追踪Agent执行过程 LangGraph应用:与LangChain相同的自动追踪方式,可可视化节点和状态

yonggeit的博客 3305

基于NodeJS的视频网站爬虫工具

闲暇时间写了一个基于nodejs的爬虫工具,可以对视频网址等站点进行爬取数据 示例站点为dilidili动漫网 http、cheerio用于获取网站Dom数据 exceljs用于生成excel文件 Code:[https://github.com/cmyh100/dilidiliSpider] 使用方法 可以在src/index.js文件修改相关初始化参数(例如调整endTime: 2...

cmyh100的博客 1792

【STM32实物】基于STM32设计的智能仓储管理系统

近年来,随着我国仓储发展的和药品需求的不断增多,许多医院都采用药物仓储管理系统。我国的药物仓储产业已经有了长足的发展,仓库的规模不断变大,对仓储的要求也不断增高,药物的存储,识别以及对仓储环境条件的要求成为仓储的重要决策,他们可以根据不同的特点在不同场景中使用。本文详细介绍了一个基于单片机技术的智能仓储管理系统的设计与实现,这个系统可谓是集射频识别(RFID)技术和环境监测传感器于一身,旨在提高仓储操作的自动化和精确度。

嵌入式阿齐Archie 1万+

YOLOv5算法改进(22)— 更换主干网络MobileNetv3 + 添加CA注意力机制

本节课就让我们结合论文来对YOLOv5进行组合改进(更换主干网络MobileNetv3 + 添加CA注意力机制),小白必学~!🌈

小哥谈 2818

使用node.js逆向解析抖音短视频无水印下载

使用uniapp+node实现一个抖音去水印小程序,项目已上线。

m0_45299232的博客 1892

PointNet++改进策略 :模块改进 | x-Conv | PointCNN, 结合局部结构与全局排列提升模型性能

这篇论文介绍了一种名为PointCNN的方法,旨在从点云(point cloud)数据中学习特征。传统卷积神经网络(CNN)在处理规则网格数据(如图像)时非常有效,但由于点云是无序且不规则的,直接在其上应用卷积操作会导致形状信息丢失,并对点的排列顺序敏感。为了解决这一问题,论文提出了一种X-Conv操作。该方法通过学习一种来重新排列点云中的点并加权输入特征。然后,将典型的卷积操作应用于转换后的特征。这种方法将传统的 CNN 扩展到点云特征学习,并命名为PointCNN。

u012901740的博客 2300

用nodejs实现爬虫

前言:

FLHMPRY的博客 5988

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

nodejs爬虫与python爬虫_node爬虫实践总结

本文作者:IMWeb skeanmy未经同意,禁止转载网络爬虫(又被称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。随着web2.0时代的到来,数据的价值愈发体现出来。无论是在目前火热的人工智能方向,还是在产品侧的用户需求分析,都需要获取到大量的数据,而网络爬虫作为一种技术手段,在不违反主体网站基本要求的情况下是获取...

weixin_39658318的博客 465

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Webster - 强大的 Node.js 网络爬虫框架

Webster 是一个可靠的高级网络爬虫和抓取框架,使用 Node.js 编写。该项目致力于帮助开发者轻松地爬取网站并从页面中提取结构化数据。 ## 主要编程语言 该项目主要使用 JavaScript 语言开发。 ## 核心功能 Webster 的核心功能包括: - 爬取网站:能够爬取静态网页以及通过浏览器客户端 JavaScript 渲染的内容。 - 数据提取:支持从页面中提取文本、属

gitblog_00581的博客 465

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

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

nodejs和python爬虫 哪个好_爬虫与NodeJs(一)

特别申明:阅读本文之后,请勿滥用爬虫采集资源,攻击他人服务器。网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。开门见山,小编所接触到的爬虫分为两种,一种为基本的http或https请求,使用网络请求来获取目标内容。第二种为无头浏览器,可以将目标页...

weixin_30855745的博客 2728

为什么使用Node.js爬虫更优

每个工具在性能上都有其独特的优势。开发者应根据具体的项目需求和目标网站的特性来选择合适的工具。无论是需要处理大规模并发请求,还是追求速度和资源消耗的平衡,或是需要全面的管理和部署功能,上述工具都能提供相应的解决方案。选择合适的工具,可以让爬虫任务变得更加高效和可靠。

1588

NodeJs-crawler:一款高效易用的Node.js爬虫工具

NodeJs-crawler:一款高效易用的Node.js爬虫工具 项目介绍 NodeJs-crawler 是一款基于Node.js的爬虫工具,旨在帮助开发者快速、高效地从网页中提取所需数据。无论是简单的网页内容抓取,还是复杂的动态页面解析,NodeJs-crawler 都能轻松应对。通过简单的几行代码,开发者即可实现网页数据的抓取、解析和存储,极大地提高了开发效率。 项目技术分析 NodeJs-...

gitblog_00032的博客 506

Node.js爬虫只会Cheerio?来试试Puppeteer!

上篇文章我们学习了如何通过 Cheerio 来爬取静态页面,但是我们没有办法处理动态渲染页面的数据关于 Cheerio 的学习请查看都 2023 年了还不会 Node.js 爬虫?快学起来!今天我们学习如何使用 Puppeteer 来轻松地完成我们解决不了的爬虫任务Puppeteer是一个由 Google 开发的 Node.js 库,它提供了一组用于控制 Headless Chrome 的 API。

萌萌哒的瑞萌萌的博客 2817

Vorssaint 完整指南:70+ 模块的开源免费 macOS 菜单栏工具,可单独装卸

风扇突然变响,你打开活动监视器才发现某个进程已经空转了好几天。Vorssaint 是一款免费、开源的 macOS 菜单栏工具,剪贴板历史、窗口切换、系统监控等 70+ 个模块,每个都能单独卸载,不用的模块完全不加载。 > 使用前提:Apple Silicon 芯片的 Mac,macOS 14(Sonoma)或更新版本。 ## 5 分钟上手:macOS 菜单栏工具安装步骤 有 Homebrew

gitblog_00479的博客 590

分布式网络爬虫管理平台Crawlab

Crawlab 是强大的网络爬虫管理平台(WCMP),它能够运行多种编程语言或爬虫框架开发的网路爬虫。

wbsu2004的博客 7215

探索高效爬虫实践:Node.js 实现的 `node-spider`

探索高效爬虫实践:Node.js 实现的 node-spider 在这个数据为王的时代,网络爬虫成为获取海量信息的有效工具。今天我们要介绍的是一个由)。这是一个基于Node.js构建的网络爬虫框架,旨在帮助开发者快速、便捷地实现各类网页抓取任务。 技术解析 核心特性 Node.js基础:node-spider充分利用了Node.js的非阻塞I/O模型和JavaScript的灵活性,使得在处理大量...

gitblog_00008的博客 332

爬虫技术探索:Node.js 的优势与实践

Node.js凭借其高性能、异步处理能力以及丰富的生态库支持,成为了构建高效爬虫的优选方案。通过上述示例,我们不仅了解了Node.js在爬虫开发中的优势,还实际体验了其在具体项目中的应用。随着技术的不断进步,Node.js在爬虫领域的应用也将更加广泛和深入。

艾恩小灰灰的博客 952

Node.js操作Dom ,轻松hold住简单爬虫

前段时间,我发现一个开源题库,题目非常有意思。我想把它整成一个JSON文件做为数据储备,方便整活。一共有一百五十多道题目,手动CV我肯定是不想干的。于是写了个脚本,在写脚本的过程中,我发现一个能让Node.js操作Dom的开源项目。有了它,再加上jQuery就可以应对简单爬虫抓取数据了,所以写下这篇文章跟大家分享下。

qq_45472813的博客 1890

用 Node.js 做一个爬虫详解

本文介绍了如何使用 Node.js 构建一个简单的爬虫。通过使用axios发起 HTTP 请求,cheerio解析 HTML 内容,你可以轻松地从网页中提取所需的信息。希望这篇文章对你有所帮助,并且为你构建更复杂的爬虫打下基础。

W楠的博客 1295
上一篇: Zen Book of Life by Mark Zocchi
下一篇: web前端200行JS骚操作,实现爬虫每天定时给女朋友发送暖心邮件
CodingIsFun
博客等级 码龄8年 37粉丝 240原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值