可能是最全的反爬虫及应对方案

史上最全反爬虫方案汇总 通过User-Agent来控制访问 无论是浏览器还是爬虫程序,在向服务器发起网络请求的时候,都会发过去一个头文件:headers,比如知乎的requests headers 这里面的大多数的字段都是浏览器向服务器”表明身份“用的 对于爬虫程序来说,最需要注意的字段就是:User-Agent 很多网站都会建立 user-agent白名单,只有属于正常范围的user-agent才能够正常访... 阅读详情

点击上方“编程派”,选择设为“设为星标”

优质文章,第一时间送达!

爬虫是 Python 的一个常见应用场景,很多练习项目就是让大家去爬某某网站。爬取网页的时候,你大概率会碰到一些反爬措施。这种情况下,你该如何应对呢?本文梳理了常见的反爬措施和应对方案。

通过User-Agent来控制访问

无论是浏览器还是爬虫程序,在向服务器发起网络请求的时候,都会发过去一个头文件:headers,比如知乎的requests headers

这里面的大多数的字段都是浏览器向服务器”表明身份“用的

对于爬虫程序来说,最需要注意的字段就是:User-Agent

很多网站都会建立 user-agent白名单,只有属于正常范围的user-agent才能够正常访问。

爬虫方法:

可以自己设置一下user-agent,或者更好的是,可以从一系列的user-agent里随机挑出一个符合标准的使用。

缺点:

容易容易伪造头部,github上有人分享开源库fake-useragent

实现难度:★

IP限制

如果一个固定的ip在短暂的时间内,快速大量的访问一个网站,后台管理员可以编写IP限制,不让该IP继续访问。

爬虫方法:

比较成熟的方式是:IP代理池

简单的说,就是通过ip代理,从不同的ip进行访问,这样就不会被封掉ip了。

可是ip代理的获取本身就是一个很麻烦的事情,网上有免费和付费的,但是质量都层次不齐。如果是企业里需要的话,可以通过自己购买集群云服务来自建代理池。

缺点:

可以使用免费/付费代理,绕过检测。

实现难度:★

SESSION访问限制

后台统计登录用户的操作,比如短时间的点击事件,请求数据事件,与正常值比对,用于区分用户是否处理异常状态,如果是,则限制登录用户操作权限。

缺点:

需要增加数据埋点功能,阈值设置不好,容易造成误操作。

爬虫方法:

注册多个账号、模拟正常操作。

实现难度:★★★

Spider Trap

蜘蛛陷阱导致网络爬虫进入无限循环之类的东西,这会浪费蜘蛛的资源,降低其生产力,并且在编写得不好的爬虫的情况下,可能导致程序崩溃。礼貌蜘蛛在不同主机之间交替请求,并且不会每隔几秒钟从同一服务器请求多次文档,这意味着“礼貌”网络爬虫比“不礼貌”爬虫的影响程度要小得多。

反爬方式:

  1. 创建无限深度的目录结构

HTTP://example.com/bar/foo/bar/foo/bar/foo/bar /

  1. 动态页面,为网络爬虫生成无限数量的文档。如由算法生成杂乱的文章页面。

  2. 文档中填充了大量字符,使解析文档的词法分析器崩溃。

此外,带蜘蛛陷阱的网站通常都有robots.txt告诉机器人不要进入陷阱,因此合法的“礼貌”机器人不会陷入陷阱,而忽视robots.txt设置的“不礼貌”机器人会受到陷阱的影响。

爬虫方法:

把网页按照所引用的css文件进行聚类,通过控制类里最大能包含的网页数量防止爬虫进入trap后出不来,对不含css的网页会给一个penalty,限制它能产生的链接数量。这个办法理论上不保证能避免爬虫陷入死循环,但是实际上这个方案工作得挺好,因为绝大多数网页都使用了css,动态网页更是如此。

缺点:

反爬方式1,2会增加很多无用目录或文件,造成资源浪费,也对正常的SEO十分不友好,可能会被惩罚。

实现难度:★★★

验证码验证

验证码(CAPTCHA)是“Completely Automated Public Turing test to tell Computers and Humans Apart”(全自动区分计算机和人类的图灵测试)的缩写,是一种区分用户是计算机还是人的公共全自动程序。可以防止:恶意破解密码、刷票、论坛灌水,有效防止某个黑客对某一个特定注册用户用特定程序暴力破解方式进行不断的登陆尝试,实际上用验证码是现在很多网站通行的方式,我们利用比较简易的方式实现了这个功能。这个问题可以由计算机生成并评判,但是必须只有人类才能解答。由于 计算机无法解答CAPTCHA的问题,所以回答出问题的用户就可以被认为是人类。

1. 图片验证码

  • 复杂型

打码平台雇佣了人力,专门帮人识别验证码。识别完把结果传回去。总共的过程用不了几秒时间。这样的打码平台还有记忆功能。图片被识别为“锅铲”之后,那么下次这张图片再出现的时候,系统就直接判断它是“锅铲”。时间一长,图片验证码服务器里的图片就被标记完了,机器就能自动识别了。

  • 简单型

上面两个不用处理直接可以用OCR识别技术(利用python第三方库--tesserocr)来识别。

背景比较糊

清晰可见

经过灰度变换和二值化后,由模糊的验证码背景变成清晰可见的验证码。

容易迷惑人的图片验证码

对于在这种验证码,语言一般自带图形库,添加上扭曲就成了这个样子,我们可以利用9万张图片进行训练,完成类似人的精准度,到达识别验证码的效果

2. 短信验证码

用Webbrowser技术,模拟用户打开短信的行为,最终获取短信验证码。

3. 计算题图片验证码

把所有可能出现的汉字都人工取出来,保存为黑白图片,把验证码按照字体颜色二值化,去除噪点,然后将所有图片依次与之进行像素对比,计算出相似值,找到最像的那张图片

4. 滑动验证码

对于滑动验证码

我们可以利用图片的像素作为线索,确定好基本属性值,查看位置的差值,对于差值超过基本属性值,我们就可以确定图片的大概位置。

5. 图案验证码

对于这种每次拖动的顺序不一样,结果就不一样,我们怎么做来识别呢?

  • 利用机器学习所有的拖动顺序,利用1万张图片进行训练,完成类似人的操作,最终将其识别

  • 利用selenium技术来模拟人的拖动顺序,穷尽所有拖动方式,这样达到是别的效果

6. 标记倒立文字验证码

我们不妨分析下:对于汉字而言,有中华五千年庞大的文字库,加上文字的不同字体、文字的扭曲和噪点,难度更大了。

方法:首先点击前两个倒立的文字,可确定7个文字的坐标, 验证码中7个汉字的位置是确定的,只需要提前确认每个字所在的坐标并将其放入列表中,然后人工确定倒立文字的文字序号,将列表中序号对应的坐标即可实现成功登录。

爬虫方法:

接入第三方验证码平台,实时破解网站的验证码。

缺点:

影响正常的用户体验操作,验证码越复杂,网站体验感越差。

实现难度:★★

通过robots.txt来限制爬虫

robots.txt(统一小写)是一种存放于网站根目录下的ASCII编码的文本文件,它通常告诉网络搜索引擎的漫游器(又称网络蜘蛛),此网站中的哪些内容是不应被搜索引擎的漫游器获取的,哪些是可以被漫游器获取的。因为一些系统中的URL是大小写敏感的,所以robots.txt的文件名应统一为小写。robots.txt应放置于网站的根目录下。如果想单独定义搜索引擎的漫游器访问子目录时的行为,那么可以将自定的设置合并到根目录下的robots.txt,或者使用robots元数据(Metadata,又称元数据)。

robots.txt协议并不是一个规范,而只是约定俗成的,所以并不能保证网站的隐私。注意robots.txt是用字符串比较来确定是否获取URL,所以目录末尾有与没有斜杠“/”表示的是不同的URL。robots.txt允许使用类似"Disallow: *.gif"这样的通配符。

itunes的robots.txt

缺点:

只是一个君子协议,对于良好的爬虫比如搜索引擎有效果,对于有目的性的爬虫不起作用

爬虫方法:

如果使用scrapy框架,只需将settings文件里的ROBOTSTXT_OBEY 设置值为 False

实现难度:★

数据动态加载

python的requests库只能爬取静态页面,爬取不了动态加载的页面。使用JS加载数据方式,能提高爬虫门槛。

爬虫方法:

  • 抓包获取数据url

通过抓包方式可以获取数据的请求url,再通过分析和更改url参数来进行数据的抓取。

示例:

  1. 看 https://image.baidu.com 这部分的包。可以看到,这部分包里面,search下面的那个 url和我们访问的地址完全是一样的,但是它的response却包含了js代码。

2. 当在动物图片首页往下滑动页面,想看到更多的时候,更多的包出现了。从图片可以看到,下滑页面后得到的是一连串json数据。在data里面,可以看到thumbURL等字样。它的值是一个url。这个就是图片的链接。

3. 打开一个浏览器页面,访问thumbURL="https://ss1.bdstatic.com/70cFvXSh_Q1YnxGkpoWK1HF6hhy/it/u=1968180540,4118301545&fm=27&gp=0.jpg" 发现搜索结果里的图片。

4. 根据前面的分析,就可以知道,请求

URL="https://image.baidu.com/search/acjsontn=resultjson_com&ipn=rj&ct=201326592&is=&fp=result&queryWord=%E5%8A%A8%E7%89%A9%E5%9B%BE%E7%89%87&cl=2&lm=-1&ie=utf8&oe=utf8&adpicid=&st=-1&z=&ic=0&word=%E5%8A%A8%E7%89%A9%E5%9B%BE%E7%89%87&s=&se=&tab=&width=&height=&face=0&istype=2&qc=&nc=1&fr=&pn=30&rn=30&gsm=1e&1531038037275=",用浏览器访问这个链接确定他是公开的。

5. 最后就可以寻找URL的规律,对URL进行构造便可获取所有照片。

  • 使用selenium

通过使用selenium来实现模拟用户操作浏览器,然后结合BeautifulSoup等包来解析网页通过这种方法获取数据,简单,也比较直观,缺点是速度比较慢。

缺点:

如果数据API没做加密处理,容易曝光接口,让爬虫用户更容易获取数据。

实现难度:★

数据加密-使用加密算法

  • 前端加密

通过对查询参数、user-agent、验证码、cookie等前端数据进行加密生成一串加密指令,将加密指令作为参数,再进行服务器数据请求。该加密参数为空或者错误,服务器都不对请求进行响应。

  • 服务器端加密

在服务器端同样有一段加密逻辑,生成一串编码,与请求的编码进行匹配,匹配通过则会返回数据。

爬虫方法:

JS加密破解方式,就是要找到JS的加密代码,然后使用第三方库js2py在Python中运行JS代码,从而得到相应的编码。

案例参考:

https://blog.youkuaiyun.com/lsh19950928/article/details/81585881

缺点:

加密算法明文写在JS里,爬虫用户还是可以分析出来。

实现难度:★★★

数据加密-使用字体文件映射

服务器端根据字体映射文件先将客户端查询的数据进行变换再传回前端,前端根据字体文件进行逆向解密。

映射方式可以是数字乱序显示,这样爬虫可以爬取数据,但是数据是错误的。

破解方式:

其实,如果能看懂JS代码,这样的方式还是很容易破解的,所以需要做以下几个操作来加大破解难度。

  • 对JS加密

  • 使用多个不同的字体文件,然后约定使用指定字体文件方式,比如时间戳取模,这样每次爬取到的数据映射方式都不一样,映射结果就不一样,极大提高了破解的难度。

该种方式相比使用加密算法方式难度更高,因为加密算法是固定的几种,对方很容易获取并破解,而字体文件映射可以按任意规则映射,正常的数据使之错误显示,爬虫不容易察觉。

参考案例:https://www.jianshu.com/p/f79d8e674768

缺点:

需要生成字体文件,增加网站加载资源的体量。

实现难度:★★★★

非可视区域遮挡

此方式主要针对使用senlium进行的爬虫,如果模拟界面未进入可视区域,则对未见数据进行遮挡,防止senlium的click()操作。这种方式只能稍稍降低爬虫的爬取速度,并不能阻止继续进行数据爬取。

实现难度:★

回复下方「关键词」,获取优质资源

回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版
回复关键词「入门资料」,立即获取主页君整理的 10 本 Python 入门书的电子版
回复关键词「m」,立即获取Python精选优质文章合集
回复关键词「book 数字」,将数字替换成 0 及以上数字,有惊喜好礼哦~
题图:pexels,CC0 授权。

这可能是最全的反爬虫及应对方案,再也不怕爬不到数据了 一、什么是反爬虫 网络爬虫,是一个自动提取网页的程序,它为搜索引擎从万维网上下载网页,是搜索引擎的重要组成。但是当网络爬虫被滥用后,互联网上就出现太多同质的东西,原创得不到保护。于是,很多网站开始反网络爬虫,想方设法保护自己的内容。 他们根据ip访问频率,浏览网页速度,账户登录,输入验证码,flash封装,ajax混淆,js加密,图片,css混淆等五花八门的技术,来对反网络爬虫。 防的一方不惜工本,迫使抓的一方在考虑成本效益后放弃,抓的一方不惜工本,防的一方在考虑用户流失后放弃. 【百度百科】 阅读详情

相关推荐

史上最全Python反爬虫方案汇总

通过User-Agent来控制访问 无论是浏览器还是爬虫程序,在向服务器发起网络请求的时候,都会发过去一个头文件:headers,比如知乎的requests headers 这里面的大多数的字段都是浏览器向服务器”表明身份“用的 对于爬虫程序来说,最需要注意的字段就是:User-Agent 很多网站都会建立 user-agent白名单,只有属于正常范围的user-agent才能够正常访问。 爬虫方法: 可以自己设置一下user-agent,或者更好的是,可以从一系列的user-agent里随机挑出一个符合标

1380

常见的反爬虫措施以及解决方法

一、通过 Headers 反爬虫 从用户请求的 Headers 反爬虫是最常见的反爬虫策略。很多网站都会对 Headers 的 User-Agent 进行检测,还有一部分网站会对 Referer 进行检测(一些资源网站的防盗链就是检测 Referer)。如果 遇到了这类反爬虫机制,可以直接在爬虫中添加 Headers,将浏览器的 User-Agent 复制到爬虫的 Headers 中;或者将 Re...

weixin_45019231的博客 5980

点云入门笔记(一):点云数据及获取

点云概念: 点云是某个坐标系下的点的数据集。点包含了丰富的信息,包括三维坐标 X,Y,Z、颜色、分类值、强度值、时间等等。

wc19862274581的博客 2万+

selenium反爬

使用selenium也会被网站反爬,有的网站甚至检测到是selenium时就会封禁ip,所以今天分享一下selenium的反爬。大多数网站识别selenium的方法是通过window.navigator.webdriver,它的作用是在用户打开浏览器时给当前窗口一个window属性来存放用户的各种信息,当我们使用selenium时值为true,正常用户访问网站时为false 所以要实现selenium的反爬就要去除window.navigator.webdriver,代码如下 fro.

ljf520lhy的博客 9147

/lib//libclntsh.so: file format not recognized; treating as linker script

centos7.7+oracle19.3 建库过程报错:预检查都是通过的 /oracle/product/19.3.0/db_1/lib/libasmperl19.a -Wl,--no-whole-archive -lclntsh -lclntshcore -lasmclntsh19 -lhasgen19 -lskgxp19 -locr19 -lcell19 -lirc INFO: /usr/bin/ld:/home/app/oracle/product/19.3.0/db_1/li...

sqlora的专栏 9914

宝塔面板一键部署Z-Blog博客 - 内网穿透实现公网访问

Ubuntu系统作为Linux系统的一个重要分支,既有Linux系统的轻量化、高扩展性和长时间稳定运行,也拥有Windows一样的友好图形界面,因此可以作为熟悉服务器系统的良好选择。对于笔者来说,ubuntu系统最大的用处,就是可以让家里老旧的电脑重焕生机,让本已退居二线的电脑与cpolar内网穿透软件搭配,成为私人服务器,搭建自己喜欢的各种网站。今天,笔者就为大家介绍,如何使用cpolar内网穿透+Z-blog搭建私人博客网站。

m0_74808907的博客 3147

14Python爬虫---爬虫伪装浏览器

一、什么是浏览器伪装技术   有一些网站为了避免爬虫的恶意访问,会设置一些反爬虫机制,常见的饭爬虫机制主要有:   1、通过分析用户请求的Headers信息进行反爬虫   2、通过检测用户行为进行反爬虫,比如通过判断同一个IP在短时间内是否频繁访问对应网站等进行分析   3、通过动态页面增加爬虫的爬取难度,达到反爬虫的目的   第一种反爬虫机制在目前网站中应用的最多,大部分反爬虫网站会对...

冰棒的博客 1万+

【CVPR 2025】低光增强HVI论文精读与源码复现---part1 论文网络精读

【CVPR 2025】本文参考论文HVI: A New Color Space for Low-light Image Enhancement part1 在文章中对论文核心网络与原理展开详细解释 part2 对论文公开代码的arch网络与其他核心部分展开详细解释

BOB_BOB_BOB_的博客 3256

可能是最全的 Python 反爬虫及应对方案了

爬虫是 Python 的一个常见应用场景,很多练习项目就是让大家去爬某某网站。爬取网页的时候,你大概率会碰到一些反爬措施。这种情况下,你该如何应对呢?本文梳理了常见的反爬措施和应对方案。

m0_59162248的博客 2万+

TI单芯片毫米波雷达1642demo代码走读(一)

今天我们来实际看下代码。 首先使用CCS软件导入demo工程,工程有两个,一个是ARM的工程,工程名是mmw_mss_16xx;另一个是DSP的工程,工程名为mmw_dss_16xx。我们将这两个工程的主函数打开,分别位于mss_main.c和dss_main.c文件中。 先看mss的主函数,代码如下。我为每行代码都加了中文注释和自己的理解。 int main (void) { Task_Params taskPara...

1万+

通过Power Platform自定义D365 CE 业务需求 - 4. 使用Power Automate

Power Automate构建块Power Automate中的连接器流的类型和用途流中的动态值和表达式使用变量、循环和条件在Power Automate中处理审批业务场景、用例和实现Power Virtual Agent的概念Power Virtual Agent的构建块配置Power Virtual Agent示例在公共网站/门户中部署Power Virtual Agent业务场景、用例和实现。

Martin-Mei的博客 558

文末送书|可能是最全的反爬虫及应对方案

点击上方“一行数据”,选择“置顶星标”公众号干货福利,第一时间送达大家好,我是一行今天分享的文章总结了全网最全的反爬虫方案,强烈建议收藏爬虫是 Python 的一个常见应用场景,很多练习...

一行玩python 739

大唐杯历届省赛押题训练(6)

考试-TD-LTE无线网络设备介绍-TD-LTE网络架构一、单选题1TD-LTE的接入网E-UTRAN由下列哪些网元组成( )。0分/1分A、RNCB、BTSC、eNode BD、Node B提交答案:B正确答案:C考点TD-LTE网络架构解析暂无试题解析二、多选题1关于LTE网络整体结构,哪些说法是正确的( )0分/2分A、E-UTRAN用E-NodeB替代原有的RNC-NodeB结构B、E-NodeB间的接口为S1接口C、各网络节点之间的接口使用IP传输。

nimo观察者 633

2024年最全文末送书|可能是最全的反爬虫及应对方案(1),爱奇艺算法社招面经

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。工具都帮大家整理好了,安装就可直接上手!当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

2401_84140302的博客 1194

2xmax96717+max96724+agx orin驱动代码

说明:这里主要解决max96717的设备地址和sensor地址映射,vc0->vc1多颗max96717+max96724使用配置思路如下: 1、改变max96717的pipez stream id,然后max96724的pipe绑定使用相应的stream id 2、max96717默认是vc0,把vc0改写成vc1\vc2\vc3,然后max96724再重新映射vc输出

mantouyouyou的博客 112

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Python爬虫入门教程!全网最全反爬虫系列

在了解什么是反爬虫手段之前,我们首先来看一看爬虫到底是什么? 什么是爬虫 在当今社会,网络上充斥着大量有用的数据,我们只需要耐心地观察,再加上一些技术手段,就可以获取到大量的有价值数据。这里的"技术手段"就是指网络爬虫。 爬虫就是自动获取网页内容的程序,例如搜索引擎,Google,Baidu等,每天都运行着庞大的爬虫系统,从全世界的网站中爬取数据,供用户检索时使用。最后,如果你的时间不是很紧张,并且又想快速的提高,最重要的是不怕吃苦,建议你可以联系维:762459510 ,那个真的很不错,很多人进步都很快,

MC_XY的博客 325

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

最全反爬虫技术介绍

反爬虫的技术大概分为四个种类: 注:文末有福利! 一、通过User-Agent来控制访问: 无论是浏览器还是爬虫程序,在向服务器发起网络请求的时候,都会发过去一个头文件:headers,比如知乎的requestsheaders: Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/we...

weixin_30439031的博客 146

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

人人都能懂的Python爬虫入门教程!全网最全反爬虫系列!

在了解什么是反爬虫手段之前,我们首先来看一看爬虫到底是什么? 什么是爬虫 在当今社会,网络上充斥着大量有用的数据,我们只需要耐心地观察,再加上一些技术手段,就可以获取到大量的有价值数据。这里的"技术手段"就是指网络爬虫。 爬虫就是自动获取网页内容的程序,例如搜索引擎,Google,Baidu等,每天都运行着庞大的爬虫系统,从全世界的网站中爬取数据,供用户检索时使用。 恶意的爬虫不仅会占用大量的网站流量,造成有真正需求的用户无法进入网站,同时也可能会造成网站关键信息的泄漏,影响网站或app的正常运行。

zhouba889的博客 437

硬核!一文教你图片伪装反爬虫的原理和破解方法

01定义 现在许多大型网站的反爬虫方式是将图片与文字混合在一起,放到页面上进行展示。这种混合展示的方式并不会影响用户的正常阅读,但是却可以限制爬虫程序获取这些内容。如下图: 02原理 这种反爬虫的原理十分简单,就是将本应是普通文本内容的部分在前端页面中用图片来进行替换,从而达到“鱼目混珠“的效果。..

MachineGunJoe666 1597

《Python爬取求职网第三天》——反爬虫和汇总表格

一、反爬虫 1、反爬虫介绍 反爬虫是网站限制爬虫的一种策略。它并不是禁止爬虫(完全禁止爬虫几乎不可能,也可能误伤正常用户),而是限制爬虫,让爬虫在网站可接受的范围内爬取数据,不至于导致网站瘫痪无法运行。 具体网站有哪些反爬虫措施参考文章:关于反爬虫,看这一篇就够了 2、爬取计划A:请求头(Request Headers) 我们通过qq音乐官网为例来讲下,其中一个反爬虫的措施请求头。 打开qq音乐官网,按键盘上的F12打开开发者工具,点击Network标签,然后在Name列下随便点击一个打开 在Reques

Huisoul的博客 1283
上一篇: 推荐 22 款好用的命令行工具
下一篇: GitHub上最励志的计算机自学教程
codingpy
博客等级 码龄11年 1867粉丝 104原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值