Python爬虫遇到验证码的几种处理方式,文章末尾有源码!

python爬虫-验证码的处理 在爬取网页数据时,经常出现需要登录账户且要输入验证码的情况。以该网页为例,需要先使用浏览器的检查功能找到form表单中的input,具体如下所示:由上图可知找到了五个input,分别需要输入的是:用户名、电子邮件、验证码、隐藏值、是否提交。 阅读详情

最近事情其实挺多了,打了一下蓝桥杯的比赛, 还在准备着一些证书的考试, 关于爬虫之类的博客都搁着了一段时间了, 关于我自己确实有点退步了, 实属不该, 其实我自己也是在想, 大三了,到底我是要去考研,还是依然像这样更新换代的学技术, 再或者, 继续钻爬虫这路子, 虽然我也不知道这路走的顺不顺, 自己也有点抓不住光明, 这段时间,大概花了一个多月的晚上吧, 终于把Django 的大致过了一次, 剩下的就是对着官方文档和一些实际项目操作了, 这些我也会打算开一个专栏,来专门记录一下我学习Django 的一些心酸道路, 学习依旧是这样, 你不学习,就会失去, 很是莫名其妙, 真的很奇怪, 某人的奖学金是靠关系的, 某项目的获奖者仅仅只是临时换了一个名字,。。。

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


不管这些了,无所谓的东西, 这边博客,将处理图片验证码的2个比较优秀的方式进行了一次封装, 分别是百度的aip 和 一个最近火起来的识别muggle-ocr
这里要主要提一下百度的aip,这里面的东西是真的多, 我还扩展了一个识别色情图片的函数, 有兴趣的可以玩一玩, 另外 学了爬虫之后, 这些图片真的是应接不暇, 网站也是多的数不胜数, 希望净网行动加把劲, 剩下的就不比比了, 看实际操作吧。


本篇文章介绍了爬虫中验证码的处理方式, 并把这些功能封装起来,供我们使用, 涉及到百度AIP的调用方式, 以及一个最新的开源库muggle识别库的使用,欢迎阅读,点赞,收藏!

博主其他文章, 欢迎阅读!


 

目录:

  • 学会调用百度的aip接口:
  • 扩展百度的色情识别接口:
  • 学会muggle_ocr 识别接口:
  • 封装源码:

 


学会调用百度的aip接口:

1. 首先需要注册一个账号:

https://login.bce.baidu.com/

注册完成之后登入

2. 创建项目

在这些技术里面找到文字识别,然后点击创建一下项目

创建完成之后:


图片中 AppID , API key, Secret Key 这些待会是需要用的。

下一步可以查看官网文档,或者直接使用我写的代码

3. 安装一下依赖库 pip install baidu-aip

这只是一个接口, 需要前面的一些设置。

 def return_ocr_by_baidu(self, test_image):
        """
        ps: 先在__init__  函数中完成你自己的baidu_aip 的一些参数设置

        这次测试使用 高精度版本测试
                    如果速度很慢 可以换回一般版本
                    self.client.basicGeneral(image, options)
                    相关参考网址:
                    https://cloud.baidu.com/doc/OCR/s/3k3h7yeqa
        :param test_image: 待测试的文件名称
        :return:  返回这个验证码的识别效果 如果错误  可以多次调用
        """
        image = self.return_image_content(test_image=self.return_path(test_image))

        # 调用通用文字识别(高精度版)
        # self.client.basicAccurate(image)

        # 如果有可选参数 相关参数可以在上面的网址里面找到
        options = {}
        options["detect_direction"] = "true"
        options["probability"] = "true"

        # 调用
        result = self.client.basicAccurate(image, options)
        result_s = result['words_result'][0]['words']
        # 不打印关闭
        print(result_s)
        if result_s:
            return result_s.strip()
        else:
            raise Exception("The result is None , try it !")

扩展百度的色情识别接口:

我们写代码肯定是要找点乐子的, 不可能这么枯燥无味吧?

色情识别接口在 内容审核中, 找一下就可以了。

调用方式源码:

# -*- coding :  utf-8 -*-
# @Time      :  2020/10/22  17:30
# @author    :  沙漏在下雨
# @Software  :  PyCharm
# @优快云      :  https://me.youkuaiyun.com/qq_45906219

from aip import AipContentCensor
from ocr import MyOrc


class Auditing(MyOrc):
    """
    这是一个调用百度内容审核的aip接口
    主要用来审核一些色情 反恐 恶心 之类的东西
    网址:  https://ai.baidu.com/ai-doc/ANTIPORN/tk3h6xgkn
    """

    def __init__(self):
        # super().__init__()
        APP_ID = '填写你的ID'
        API_KEY = '填写你的KEY'
        SECRET_KEY = '填写你的SECRET_KEY'

        self.client = AipContentCensor(APP_ID, API_KEY, SECRET_KEY)

    def return_path(self, test_image):
        return super().return_path(test_image)

    def return_image_content(self, test_image):
        return super().return_image_content(test_image)

    def return_Content_by_baidu_of_image(self, test_image, mode=0):
        """
        继承ocr中的一些方法, 因为都是放一起的 少些一点代码
        内容审核: 关于图片中是否存在一些非法不良信息
        内容审核还可以实现文本审核 我觉得有点鸡肋  就没一起封装进去
        url: https://ai.baidu.com/ai-doc/ANTIPORN/Wk3h6xg56
        :param test_image: 待测试的图片 可以本地文件 也可以网址
        :param mode:  默认 = 0 表示 识别的本地文件   mode = 1 表示识别的图片网址连接
        :return: 返回识别结果
        """
        if mode == 0:
            filepath = self.return_image_content(self.return_path(test_image=test_image))
        elif mode == 1:
            filepath = test_image
        else:
            raise Exception("The mode is 0 or 1 but your mode is ", mode)
        # 调用色情识别接口
        result = self.client.imageCensorUserDefined(filepath)

        # """ 如果图片是url调用如下 """
        # result = self.client.imageCensorUserDefined('http://www.example.com/image.jpg')
        print(result)
        return result


a = Auditing()
a.return_Content_by_baidu_of_image("test_image/2.jpg", mode=0)

学会muggle_ocr 识别接口:

这个包是最近火起来的, 使用起来很简单, 没多少其他函数

  1. 安装 pip install muggle-ocr 这个下载有点慢 最好使用手机热点 目前镜像网站(清华/阿里) 还没有更新到这个包 因为这个包是最新的一个ocr模型 12
  2. 调用接口
 def return_ocr_by_muggle(self, test_image, mode=1):
        """
            调用这个函数使用 muggle_ocr 来进行识别
            :param  test_image  待测试的文件名称 最好绝对路径
            :param  模型 mode = 0  即 ModelType.OCR 表示识别普通印刷文本
                  当 mode = 1 默认  即 ModelType.Captcha 表示识别4-6位简单英输验证码

            官方网站: https://pypi.org/project/muggle-ocr/
            :return: 返回这个验证码的识别结果 如果错误 可以多次调用
        """
        # 确定识别物品
        if mode == 1:
            sdk = muggle_ocr.SDK(model_type=muggle_ocr.ModelType.Captcha)
        elif mode == 0:
            sdk = muggle_ocr.SDK(model_type=muggle_ocr.ModelType.OCR)
        else:
            raise Exception("The mode is 0 or 1 , but your mode  == ", mode)

        filepath = self.return_path(test_image=test_image)

        with open(filepath, 'rb') as fr:
            captcha_bytes = fr.read()
            result = sdk.predict(image_bytes=captcha_bytes)
            # 不打印关闭
            print(result)
            return result.strip()

封装源码:

# -*- coding :  utf-8 -*-
# @Time      :  2020/10/22  14:12
# @author    :  沙漏在下雨
# @Software  :  PyCharm
# @优快云      :  https://me.youkuaiyun.com/qq_45906219

import muggle_ocr
import os
from aip import AipOcr

"""
    PS: 这个作用主要是作了一个封装 把2个常用的图片/验证码识别方式合在一起 怎么用 取决于自己
    
    接口1: muggle_ocr 
          pip install muggle-ocr 这个下载有点慢 最好使用手机热点
          目前镜像网站(清华/阿里)  还没有更新到这个包 因为这个包是最新的一个ocr模型
          
    接口2: baidu-aip
          pip install baidu-aip
          这个知道的人应该很多很多, 但是我觉得还是muggle 这个新包猛的一比
          调用方式 可以参考官网文档: https://cloud.baidu.com/doc/OCR/index.html
          或者使用我如下的方式  都是ok的
    :param image_path  待识别的图片路径  如果目录很深 推荐使用绝对路径
    
"""


class MyOrc:
    def __init__(self):
        # 设置一些必要信息 使用自己百度aip的内容
        APP_ID = '你的ID'
        API_KEY = '你的KEY'
        SECRET_KEY = '你的SECRET_KEY'

        self.client = AipOcr(APP_ID, API_KEY, SECRET_KEY)

    def return_path(self, test_image):

        """:return abs image_path"""
        # 确定路径
        if os.path.isabs(test_image):
            filepath = test_image
        else:
            filepath = os.path.abspath(test_image)
        return filepath

    def return_image_content(self, test_image):
        """:return the image content """
        with open(test_image, 'rb') as fr:
            return fr.read()

    def return_ocr_by_baidu(self, test_image):
        """
        ps: 先在__init__  函数中完成你自己的baidu_aip 的一些参数设置

        这次测试使用 高精度版本测试
                    如果速度很慢 可以换回一般版本
                    self.client.basicGeneral(image, options)
                    相关参考网址:
                    https://cloud.baidu.com/doc/OCR/s/3k3h7yeqa
        :param test_image: 待测试的文件名称
        :return:  返回这个验证码的识别效果 如果错误  可以多次调用
        """
        image = self.return_image_content(test_image=self.return_path(test_image))

        # 调用通用文字识别(高精度版)
        # self.client.basicAccurate(image)

        # 如果有可选参数 相关参数可以在上面的网址里面找到
        options = {}
        options["detect_direction"] = "true"
        options["probability"] = "true"

        # 调用
        result = self.client.basicAccurate(image, options)
        result_s = result['words_result'][0]['words']
        # 不打印关闭
        print(result_s)
        if result_s:
            return result_s.strip()
        else:
            raise Exception("The result is None , try it !")

    def return_ocr_by_muggle(self, test_image, mode=1):
        """
            调用这个函数使用 muggle_ocr 来进行识别
            :param  test_image  待测试的文件名称 最好绝对路径
            :param  模型 mode = 0  即 ModelType.OCR 表示识别普通印刷文本
                  当 mode = 1 默认  即 ModelType.Captcha 表示识别4-6位简单英输验证码

            官方网站: https://pypi.org/project/muggle-ocr/
            :return: 返回这个验证码的识别结果 如果错误 可以多次调用
        """
        # 确定识别物品
        if mode == 1:
            sdk = muggle_ocr.SDK(model_type=muggle_ocr.ModelType.Captcha)
        elif mode == 0:
            sdk = muggle_ocr.SDK(model_type=muggle_ocr.ModelType.OCR)
        else:
            raise Exception("The mode is 0 or 1 , but your mode  == ", mode)

        filepath = self.return_path(test_image=test_image)

        with open(filepath, 'rb') as fr:
            captcha_bytes = fr.read()
            result = sdk.predict(image_bytes=captcha_bytes)
            # 不打印关闭
            print(result)
            return result.strip()


# a = MyOrc()

# a.return_ocr_by_baidu(test_image='test_image/digit_img_1.png')

 

爬虫技术-验证码处理 验证码反爬虫 1. 简介 ​ 我们在浏览网站的时候经常会遇到各种各样的验证码,在多数情况下这些验证码会出现在登录账号的时候,也可能会出现在访问页面的过程中,严格来说,这些行为都算验证码反爬虫。 样例:https://my.cnki.net/Register/CommonRegister.aspx?returnUrl=https://www.cnki.net 1.1 验证码得作用 它有什么用呢?... 阅读详情

相关推荐

Python爬虫的4种验证码解决思路

1.输入式验证码 这种验证码主要是通过用户输入图片中的字母、数字、汉字等进行验证。如下图 图1 图2 解决思路:这种是最简单的一种,只要识别出里面的内容,然后填入到输入框中即可。这种识别技术叫OCR,这里我们推荐使用Python的第三方库,tesserocr。对于没有什么背影影响的验证码如图2,直接通过这个库来识别就可以。但是对于有嘈杂的背景的验证码这种,直接识别识别率会很低,遇到这种我们就得需要先处理一下图片,先对图片进行灰度化,然后再...

xixi20200的博客 1059

【爬虫】验证码处理方案

仅限于输入一次就可持续使用的情况使用光学识别引擎处理图片中的数据,目前常用于图片数据提取,较少用于验证码处理图片识别引擎:OCR(Optical Character Recognition)是指使用扫描仪或数码相机对文本资料进行扫描成图像文件,然后对图像文件进行分析处理,自动识别获取文字信息及版面信息的软件。Tesseract:一款由HP实验室开发,由Google维护的开源OCR引擎,特点是开源,免费,支持多语言,多平台。 github项目地址:https://github.com/tesseract-oc

Interest drives progress 2515

爬虫验证码的几种处理方式,已封装成类,文章末尾有源码!

学会调用百度的aip接口: 此文转载于沙漏在下雨!如有侵权联系小编删除! 1. 首先需要注册一个账号: https://login.bce.baidu.com/ 注册完成之后登入 123 2. 创建项目 在这些技术里面找到文字识别,然后点击创建一下项目 PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取 python免费学习资料以及群交流解答点击即可加入 创建完成之后: 图片中 AppID , API key, Secret Key 这些待会是需要用的。 下

pythonlaodi的博客 122

爬虫之验证码处理

文章目录验证码处理一、 字符验证码1、 难点2、 图像处理3、 实例代码二、 滑块验证码1、 难点2、 实现示例三、 点触验证码1、 问题2、 解决方案3、 使用案例 验证码处理 一、 字符验证码 通过某个程序,计算机产生一个字符串,一般四位,包含数字、字母、中文 1、 难点 噪点 干扰线 重叠 颜色 变形 经过这么一些的操作之后,程序会生成一张图片,而我们要做的就是输入和图片里面的文本信息一致,才算通过校验 2、 图像处理 在数字世界中,有色彩模式这一算法,来表示各种颜色 比较常见的有RGB模式,HS

一个专注于机器学习基础与实战的技术博客,内容涵盖算法推导、模型实现、数学原理与代码实践。用通俗的语言解析复杂概念,记录学习过程中的思考与总结,适合机器学习爱好者和从业者参考。 3256

Python爬虫遇到验证码的几种处理方式,文章末尾有源码

最近事情其实挺多了,打了一下蓝桥杯的比赛, 还在准备着一些证书的考试, 关于爬虫之类的博客都搁着了一段时间了, 关于我自己确实有点退步了, 实属不该, 其实我自己也是在想, 大三了,到底我是要去考研,还是依然像这样更新换代的学技术, 再或者, 继续钻爬虫这路子, 虽然我也不知道这路走的顺不顺, 自己也有点抓不住光明, 这段时间,大概花了一个多月的晚上吧, 终于把Django 的大致过了一次, 剩下的就是对着官方文档和一些实际项目操作了, 这些我也会打算开一个专栏,来专门记录一下我学习Django 的一些心酸

Python_kele的博客 345

ST MCSDK V6.2.0实战:手把手教你配置HSO-ST观测器,体验500ms收敛的电机无感控制

本文详细介绍了ST MCSDK V6.2.0中HSO-ST观测器的配置方法,实现500ms内电流收敛的无感电机控制。从环境搭建、核心参数解析到无感启动优化,提供实战技巧和性能调优策略,帮助开发者快速掌握高效电机控制技术。

weixin_28720767的博客 580

python爬虫封装函数_爬虫验证码的几种处理方式,已封装成类,文章末尾有源码!...

最近事情其实挺多了,打了一下蓝桥杯的比赛, 还在准备着一些证书的考试, 关于爬虫之类的博客都搁着了一段时间了, 关于我自己确实有点退步了, 实属不该, 其实我自己也是在想, 大三了,到底我是要去考研,还是依然像这样更新换代的学技术, 再或者, 继续钻爬虫这路子, 虽然我也不知道这路走的顺不顺, 自己也有点抓不住光明, 这段时间,大概花了一个多月的晚上吧, 终于把Django 的大致过了一次, 剩...

weixin_42522518的博客 303

QT 面试题汇总

一、讲述Qt信号槽机制与优势与不足 优点:①类型安全。需要关联的信号槽的签名必须是等同的。即信号的参数类型和参数个数同接受该信号的槽的参数类型和参数个数相同。若信号和槽签名不一致,编译器会报错。 ②松散耦合。信号和槽机制减弱了Qt对象的耦合度。激发信号的Qt对象无需知道是那个对象的那个信号槽接收它发出的信号,它只需在适当的时间发送适当的信号即可,而不需要关心是否被接受和那个对象接受了。Qt就保证了适当的槽得到了调用,即使关联的对象在运行时被删除。程序也不会奔溃。 ...

编程菜鸟 4万+

python爬虫验证码怎么处理_Python语言学习之Python爬虫遇到验证码的处理方式

在Python语言学习中,Python爬虫遇到验证码的处理方式,把这些功能封装起来,供我们使用。希望对Python的学习有所帮助。将处理图片验证码的比较优秀的方式进行了一次封装, 主要是百度的aip本篇文章介绍了爬虫中验证码的处理方式, 并把这些功能封装起来,供我们使用, 涉及到百度AIP的调用方式, 以及一个最新的开源库muggle识别库的使用。目录:学会调用百度的aip接口:扩展百度的色情识别...

weixin_39604350的博客 1041

【JavaSE】之流程控制与方法

Java基础之Java流程控制与方法相关知识介绍~

小新要变强的博客 5796

组态王|以一定的时间间隔查询某个时间段内的历史数据

使用该函数其他都可以满足,唯一问题是变量的选择,当切换站点后查询历史数据时,所选的变量依然是上次站点查询时所选择的变量,每当更换站点查询时都需要重新选择变量,这一点太繁琐,是用户和操作者无法忍受的。但是由于现场可能数据变化并非太过频繁,想要实现记录频率不变,还是以1分钟一次的频率进行存储,但是报表查询的时候想要只显示整点的数据。其中日历控件的设置与之前的历史数据查询是一样的,报表的抬头设置都是不用变的,此处不再赘述,有兴趣的可以。以上为组态王中以一定的时间间隔查询某个时间段内的历史数据的实现过程。

做有价值的事,积累有价值的笔记! 2544

Python爬虫入门教程(非常详细)

爬虫的全称为网络爬虫,简称爬虫,别名有网络机器人,网络蜘蛛等等。网络爬虫是一种自动获取网页内容的程序,为搜索引擎提供了重要的数据支撑。搜索引擎通过网络爬虫技术,将互联网中丰富的网页信息保存到本地,形成镜像备份。我们熟悉的谷歌、百度本质上也可理解为一种爬虫。如果形象地理解,爬虫就如同一只机器蜘蛛,它的基本操作就是模拟人的行为去各个网站抓取数据或返回数据。

2201_75362610的博客 2万+

手游功耗优化:从猜想到硬核实测

功耗本质是“硬件在吃电”,要看电流/功率曲线,而不是只看帧率和温度;定量 = 有数字、有曲线、有对比能说“降了 15%”、“峰值从 7W 降到 5.5W”,而不是“我感觉凉快点”;工具方面:大厂会用外接功率仪 + 手机/芯片厂内部平台;平时也会用 Android/iOS/引擎自带的工具做趋势分析;流程上:选典型机型和场景 → 跑脚本采集 → 对齐 Profiler 数据 → 分析 CPU/GPU/网络谁在吃电;再通过版本对比、画质/帧率组合测试,指导配置和优化。这是一个。

本博客聚焦游戏开发技巧、创业实战心得及大学热门课程干货。这里既有技术深度,也有思维广度,无论你是开发者、创业者还是高校学子,都能在这里找到适合自己的成长之路! 177

python爬虫源码附注解_Python爬虫遇到验证码的几种处理方式,文章末尾有源码

最近事情其实挺多了,打了一下蓝桥杯的比赛, 还在准备着一些证书的考试, 关于爬虫之类的博客都搁着了一段时间了, 关于我自己确实有点退步了, 实属不该, 其实我自己也是在想, 大三了,到底我是要去考研,还是依然像这样更新换代的学技术, 再或者, 继续钻爬虫这路子, 虽然我也不知道这路走的顺不顺, 自己也有点抓不住光明, 这段时间,大概花了一个多月的晚上吧, 终于把Django 的大致过了一次, 剩下...

weixin_39599454的博客 212

互联网的发展简史—web

互联网是我现在生活所离不开的一个东西,但是你知道互联网的前世今生吗?本文将讲解互联网的发展史,以及很火的元宇宙概念。

yj11290301的博客 3562

性能优化-高通cDSP(QDSP6)架构详解

高通cDSP开发的商业价值30秒快速认识高通cDSP开发的商业价值【高通cDSP旨在处理一些简单但需要大量计算的场景,如图像处理、科学计算、AI训练、计算机视觉等。这些场景使用CPU来运算会极大的降低CPU的吞吐量,因此利用现代寄存器较宽的特性设计出了适配数据并行的DSP芯片,cDSP就是典型的代表。利用cDSP+CPU既可以满足一般的使用场景,也可以完成现代图像和视频数据的处理。

发狂的小花的博客 5945

Python爬虫项目70例,附源码 70个Python爬虫练手实例

今天博主给大家带来了一份大礼,Python爬虫70例!!!以及完整的项目源码!!!本文下面所有的爬虫项目都有详细的配套教程以及源码,都已经打包好上传到百度云了,在文章结尾处!CentOS环境安装和谐图网站爬取美空网数据爬取美空网未登录图片爬取27270图片爬取蜂鸟网图片爬取之一蜂鸟网图片爬取之二蜂鸟网图片爬取之三河北阳光理政投诉板块Pyt图虫网多线程爬取行行网电子书多线程爬取半次元COS图爬取斗图啦表情包多线程爬取All IT eBooks多线程爬取石家庄政民互动数据爬取。

m0_59236127的博客 1483

【Proteus仿真】51单片机+DAC0832+LM358放大电路波形发生器

【Proteus仿真】51单片机+DAC0832+LM358放大电路波形发生器

perseverance51博客 5786

初学Python之爬虫的简单入门

爬虫的全称为网络爬虫,简称爬虫,别名有网络机器人,网络蜘蛛等等。网络爬虫是一种自动获取网页内容的程序,为搜索引擎提供了重要的数据支撑。搜索引擎通过网络爬虫技术,将互联网中丰富的网页信息保存到本地,形成镜像备份。我们熟悉的谷歌、百度本质上也可理解为一种爬虫。如果形象地理解,爬虫就如同一只机器蜘蛛,它的基本操作就是模拟人的行为去各个网站抓取数据或返回数据。

xxue345678的博客 2250

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Python爬虫入门教程(非常详细)_爬虫python入门

Python爬虫入门教程(非常详细)_爬虫python入门

Python单行客的博客 914

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

python爬虫入门,10分钟就够了,这可能是我见过最简单的基础教学

python爬虫入门,10分钟就够了,这可能是我见过最简单的基础教学

隔壁王叔的博客 1716

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

python如何爬取网页数据,python爬取网页数据步骤

爬虫的全称为网络爬虫,简称爬虫,别名有网络机器人,网络蜘蛛等等。

P5688346的博客 1134
上一篇: 一篇文章带你学会使用Python爬虫利器Fiddler
下一篇: 女生勿扰,只适合男孩子的python爬虫,里面东西不给钱统统白送
Python_sn
博客等级 码龄6年 324粉丝 290原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值