爬虫解析bs4 之(八) --- bs4模块

  beautifulsoup就是一个非常强大的工具,爬虫利器。beautifulSoup “美味的汤,绿色的浓汤”

  一个灵活又方便的网页解析库,处理高效,支持多种解析器。利用它就不用编写正则表达式也能方便的实现网页信息的抓取

bs4简单使用

  • bs4是一个html的解析工具,根据html的特征和属性来查找节点
1 from bs4 import BeautifulSoup
2 
3 fp = open("./test.html", "r", encoding="utf-8")
4 print(fp)
  • 初始化一个BeautifulSoup对象
1 soup = BeautifulSoup(fp, 'lxml')
2 # 参数1,是一个HTML字符串
3 # 参数2,代表一个解析器,因为bs4本身没有解析器,可以借助于外界的解析器来解析

5 print(soup)

  • 1、根据标签来查找对象
1 print(soup.title)
2 print(soup.a)      # 如果标签有多个,只提取第一个
  • 2、获取标签的属性
1 a = soup.a
2 print(a.get("href"))   # 用get函数来获取
3 print(a["href"])       # 用键值方式获取
4 print(a.attrs)
  • 3、获取内容
1 li = soup.li
2 print(li.string)      # 通过string属性获取,可以获取当前标签的字符串内容(包括注释),但是如果当前内容中有子标签则获取为空
3 print(li.get_text())  # 通过get_text函数获取,获取出当前节点的字符串和后代节点中所有的字符串并且拼接在一起,但是如果有注释则忽略
  • 4、获取后代节点
 1 body = soup.body
 2 
 3 # 1)获取直接子节点
 4 children = body.children
 5 print(children)   # 打印结果:<list_iterator object at 0x0000026E8ED16080>
 6 
 7 # 2)获取后代节点
 8 des = body.descendants
 9 print(des)  # 打印结果:<generator object descendants at 0x00000203556CD048>
  • 5、获取兄弟节点
1 soup.a.next_siblings 获取后面的兄弟节点
2 soup.a.previous_siblings 获取前面的兄弟节点
3 soup.a.next_sibling 获取下一个兄弟标签
4 souo.a.previous_sinbling 获取上一个兄弟标签
  • 6、获取父亲节点
1 通过 soup.a.parent  可以获取父节点的信息
2 
3 通过 list(enumerate(soup.a.parents)) 可以获取祖先节点,
4 
5 这个方法返回的结果是一个列表,会分别将a标签的父节点的信息存放到列表中,
6 以及父节点的父节点也放到列表中,并且最后还会讲整个文档放到列表中,
7 所有列表的最后一个元素以及倒数第二个元素都是存的整个文档的信息
  • 7、用函数来查找
 1 # 1)find函数
 2 print(soup.find("a"))
 3 print(soup.find("li",class_='hehe'))
 4 print(soup.find("li",id='hehe'))
 5   
 6 # 2)find_all函数
 7 print(soup.find_all("a"))
 8   
 9 # 3) select函数,根据css选择器来选取节点,返回值是一个列表
10 print(soup.select(".heihei"))
11 print(soup.select("#hehe"))
12 print(soup.select("[href='http://mi.com']"))
13 print(soup.select("[name='ok']"))
  1. 基础选择器:id选择器,#id值。class选择器,.class值。标签选择器,标签名。通用选择器,*。属性选择器 [某属性='某值']
  2. 组合选择器:选择器1选择器2...选择器n (如果这些选择器中有标签要放在最前面)
  3. 派生选择器:后代选择器:选择器1 选择器2 ... 选择器n
  4. 子选择器:   选择器1 > 选择器2 > ... > 选择器n


 

解析器

  Beautiful Soup支持Python标准库中的HTML解析器,还支持一些第三方的解析器,如果我们不安装它,

  则 Python 会使用 Python默认的解析器,lxml 解析器更加强大,速度更快,推荐安装。

  推荐使用lxml作为解析器,因为效率更高. 在Python2.7.3之前的版本和Python3中3.2.2之前的版本,

  必须安装lxml或html5lib, 因为那些Python版本的标准库中内置的HTML解析方法不够稳定

   

基本使用

标签选择器

  print(soup.p)   通过 soup.标签名 可以获得这个标签的内容

获取名称

  通过soup.title.name 可以获得该title标签的名称,即title

获取属性

  print(soup.p.attrs['name'])
  print(soup.p['name'])
  上面两种方式都可以获取p标签的name属性值

获取内容

  print(soup.p.string)  结果就可以获取第一个p标签的内容

嵌套选择

     print(soup.head.title.string)  通过嵌套的方式获取

标准选择器

find_all

  find_all(name,attrs,recursive,text,**kwargs).   可以根据标签名,属性,内容查找文档

find

  find(name,attrs,recursive,text,**kwargs)  find返回的匹配结果的第一个元素

其他

  find_parents()返回所有祖先节点,find_parent()返回直接父节点。
  find_next_siblings()返回后面所有兄弟节点,find_next_sibling()返回后面第一个兄弟节点。
  find_previous_siblings()返回前面所有兄弟节点,find_previous_sibling()返回前面第一个兄弟节点。
  find_all_next()返回节点后所有符合条件的节点, find_next()返回第一个符合条件的节点
  find_all_previous()返回节点后所有符合条件的节点, find_previous()返回第一个符合条件的节点

参数

name的用法

 1 html='''
 2 <div class="panel">
 3     <div class="panel-heading">
 4         <h4>Hello</h4>
 5     </div>
 6     <div class="panel-body">
 7         <ul class="list" id="list-1">
 8             <li class="element">Foo</li>
 9             <li class="element">Bar</li>
10             <li class="element">Jay</li>
11         </ul>
12         <ul class="list list-small" id="list-2">
13             <li class="element">Foo</li>
14             <li class="element">Bar</li>
15         </ul>
16     </div>
17 </div>
18 '''
19 from bs4 import BeautifulSoup
20 soup = BeautifulSoup(html, 'lxml')
21 print(soup.find_all('ul'))
22 print(type(soup.find_all('ul')[0]))
name

结果返回的是一个列表的方式。同时我们是可以针对结果再次find_all,从而获取所有的li标签信息

1 for ul in soup.find_all('ul'):
2     print(ul.find_all('li'))

attrs

attrs可以传入字典的方式来查找标签,但是这里有个特殊的就是class,因为class在python中是特殊的字段,所以如果想要查找class相关的可以更改attrs={'class_':'element'}或者soup.find_all('',{"class":"element}),特殊的标签属性可以不写attrs,例如id

 1 html='''
 2 <div class="panel">
 3     <div class="panel-heading">
 4         <h4>Hello</h4>
 5     </div>
 6     <div class="panel-body">
 7         <ul class="list" id="list-1" name="elements">
 8             <li class="element">Foo</li>
 9             <li class="element">Bar</li>
10             <li class="element">Jay</li>
11         </ul>
12         <ul class="list list-small" id="list-2">
13             <li class="element">Foo</li>
14             <li class="element">Bar</li>
15         </ul>
16     </div>
17 </div>
18 '''
19 from bs4 import BeautifulSoup
20 soup = BeautifulSoup(html, 'lxml')
21 print(soup.find_all(attrs={'id': 'list-1'}))
22 print(soup.find_all(attrs={'name': 'elements'}))
attrs

text

结果返回的是查到的所有的text='Foo'的文本

 1 html='''
 2 <div class="panel">
 3     <div class="panel-heading">
 4         <h4>Hello</h4>
 5     </div>
 6     <div class="panel-body">
 7         <ul class="list" id="list-1">
 8             <li class="element">Foo</li>
 9             <li class="element">Bar</li>
10             <li class="element">Jay</li>
11         </ul>
12         <ul class="list list-small" id="list-2">
13             <li class="element">Foo</li>
14             <li class="element">Bar</li>
15         </ul>
16     </div>
17 </div>
18 '''
19 from bs4 import BeautifulSoup
20 soup = BeautifulSoup(html, 'lxml')
21 print(soup.find_all(text='Foo'))
text

CSS选择器

  通过select()直接传入CSS选择器就可以完成选择,熟悉前端的人对CSS可能更加了解,其实用法也是一样的
  .表示class #表示id
  标签1,标签2 找到所有的标签1和标签2
  标签1 标签2   找到标签1内部的所有的标签2
  [attr] 可以通过这种方法找到具有某个属性的所有标签
  [atrr=value] 例子[target=_blank]表示查找所有target=_blank的标签

 1 html='''
 2 <div class="panel">
 3     <div class="panel-heading">
 4         <h4>Hello</h4>
 5     </div>
 6     <div class="panel-body">
 7         <ul class="list" id="list-1">
 8             <li class="element">Foo</li>
 9             <li class="element">Bar</li>
10             <li class="element">Jay</li>
11         </ul>
12         <ul class="list list-small" id="list-2">
13             <li class="element">Foo</li>
14             <li class="element">Bar</li>
15         </ul>
16     </div>
17 </div>
18 '''
19 from bs4 import BeautifulSoup
20 soup = BeautifulSoup(html, 'lxml')
21 print(soup.select('.panel .panel-heading'))
22 print(soup.select('ul li'))
23 print(soup.select('#list-2 .element'))
24 print(type(soup.select('ul')[0]))
css

获取内容

  通过get_text()就可以获取文本内容

 1 html='''
 2 <div class="panel">
 3     <div class="panel-heading">
 4         <h4>Hello</h4>
 5     </div>
 6     <div class="panel-body">
 7         <ul class="list" id="list-1">
 8             <li class="element">Foo</li>
 9             <li class="element">Bar</li>
10             <li class="element">Jay</li>
11         </ul>
12         <ul class="list list-small" id="list-2">
13             <li class="element">Foo</li>
14             <li class="element">Bar</li>
15         </ul>
16     </div>
17 </div>
18 '''
19 from bs4 import BeautifulSoup
20 soup = BeautifulSoup(html, 'lxml')
21 for li in soup.select('li'):
22     print(li.get_text())
View Code

获取属性

  或取属性的时候可以通过[属性名]或者attrs[属性名]

 1 html='''
 2 <div class="panel">
 3     <div class="panel-heading">
 4         <h4>Hello</h4>
 5     </div>
 6     <div class="panel-body">
 7         <ul class="list" id="list-1">
 8             <li class="element">Foo</li>
 9             <li class="element">Bar</li>
10             <li class="element">Jay</li>
11         </ul>
12         <ul class="list list-small" id="list-2">
13             <li class="element">Foo</li>
14             <li class="element">Bar</li>
15         </ul>
16     </div>
17 </div>
18 '''
19 from bs4 import BeautifulSoup
20 soup = BeautifulSoup(html, 'lxml')
21 for ul in soup.select('ul'):
22     print(ul['id'])
23     print(ul.attrs['id'])
View Code

 


 

转载于:https://www.cnblogs.com/TMMM/p/10802170.html

网络爬虫requests和bs4简单入门 网络爬虫基础(嵩天老师爬虫教学) 本博客的主要内容:介绍如何使用基本的库完成对html页面内容的爬取和分析,分以下几方面介绍 介绍网络爬虫的基本工作过程 requests库的基本用法 使用BeautifulSoup对页面进行解析 1.介绍网络爬虫的基本工作过程 The Website is the API 我们应该将网页看成是一个我们获取信息的接口,我们可以通过python爬虫从中获取我们所需... 阅读详情

相关推荐

Python爬虫:bs4解析

python爬虫学习笔记:bs4解析

Ohh24的博客 4705

python的bs4模块

Beautiful Soup 简称 BS4(其中 4 表示版本号)是一个 Python 第三方库,它可以从 HTML 或 XML 文档中快速地提取指定的数据。Beautiful Soup 语法简单,使用方便,并且容易理解,因此您可以快速地学习并掌握它。

yujinlong2002的博客 2058

python--爬虫(2)bs4模块

1. BS4简介 Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个 工具箱,通过解析文档为tiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。 你不需要考虑编码方式,除非文档没有指定一个编一下原始编码方式就可以了。 2. BS4的4种对象 2-1. BeautifulSoup对象 2-2. Tag对...

m0_37206112的博客 5493

Python爬虫编程:数据解析模块之bs4,超详细

BeautifulSoup,是python中的一个库,是一个可以从HTML或XML文件中提取数据的Python库;它能够通过提供一些简单的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以写出一个完整的应用程序。会帮你节省数小时甚至数天的工作时间。自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编码方式,这时,就不能自动识别编码方式了。

lu_jianjun的专栏 1万+

爬虫学习--6.bs4 库

基本概念 简单来说,Beautiful Soup是python的一个库,最主要的功能是从网页抓取数据。官方解释如下: ''' Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。 它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单, 所以不需要多少代码就可以写出一个完整的应用程序。 ''' Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库。它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式

weixin_66370632的博客 1315

LangChain实战:用FAISS搭建本地文档问答系统(含Word文件处理避坑指南)

本文详细介绍了如何利用LangChain框架和FAISS向量数据库构建本地化智能文档问答系统,特别针对Word文档处理中的技术难点提供实用解决方案。通过模块化设计、本地化支持和多格式兼容,实现高效文档处理与精准问答,满足企业对数据隐私和安全的需求。

o4p5q6r7s的博客 409

python—bs4模块解析

bs4模块详解

W0ngk,一个安全菜鸡,一直在模仿,尚未有超越。 3673

【冷冻电镜】RELION5.0使用教程总结

对于您自己的数据,您可能希望使用各种倾斜系列对齐方法,然后比较每种方法生成的断层扫描图像的质量(参见下一步)。通过检查 CtfFind job 的 tilt_series 目录中的star文件来检查几个倾斜系列的散焦值。GitHub上也有人反应这个问题,目前我的解决方案是下载了较低版本的CTFFIND的,降级到4.1.10可以成功运行。此外,logfile.pdf 文件包含所有显微照片的有用参数图,例如散焦、像散、估计分辨率等,以及整个数据集中这些值的直方图。的目录,以及指向此目录的符号链接。

进阶中的程序员吃吃的博客 4233

爬虫入门三(bs4模块、遍历文档树、搜索文档树、css选择器、selenium介绍与安装、无界面浏览器、搜索标签即其他操作、等待元素、执行JS代码、切换选项卡、模拟浏览器前进后退、selenium登)

文件中提取数据的Python库,用它来解析爬取回来的xml。

Mchen的博客 646

Ansys Lumerical 启动时出现 Error: Could not connect to Ansys license server specified at 1055@ 的另一种解决办法

昨天在关闭了中之后 就能正常打开 FDTD 了,结果今天想开启出现了同样的报错:我猜测昨天能启动的原因在于关闭之后要重启电脑,并且在重启之后我第一时间打开 lumerical 测试因此端口没有被占用,今天是在电脑启动之后一段时间才打开所以又遇到了端口占用的问题。

qq_51404184的博客 9549

Proteus仿真实战:基于IIC驱动SSD1306的0.96英寸OLED显示方案解析

本文详细解析了在Proteus仿真环境中基于IIC驱动SSD1306的0.96英寸OLED显示方案。从硬件搭建、IIC接口连接、软件驱动移植到常见问题排查,提供了全面的实战指导,帮助开发者快速实现OLED显示功能并优化性能。

weixin_28724661的博客 770

python(BS4模块)

BS4简介 1.什么时BS4? BS4全称是Beatiful Soup,它提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为tiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。你不需要考虑编码方式,除非文档没有指定一个编一下原始编码方式就可以了。 2.BS4的4中对象 Tag对象:是html中的一个标签,...

qq_43194257的博客 6万+

卡门涡街可视化实战:从网格加密策略到动画后处理技巧

本文详细介绍了利用ANSYS Fluent进行卡门涡街可视化模拟的全流程,包括网格加密策略、求解器设置、涡街捕捉及动画后处理技巧。通过计算流体力学(CFD)方法,帮助工程师和研究人员高效模拟圆柱绕流现象,优化工程设计。

weixin_29309785的博客 414

python爬虫之bs4模块(超详细)

python爬虫之bs4模块一、bs4简介二、使用方法三、BeautifulSoup四大对象种类(1)tag(2)NavigableString(3)BeautifulSoup(4)Comment四、CSS选择器 一、bs4简介 即BeautifulSoup,是python种的一个库,最主要的内容就是从网页中抓取数据。 Beautiful Soup提供一些简单的、python式的函数用来处理导航、搜索、修改分析树等功能。它是一个工具箱,通过解析文档为用户提供需要抓取的数据,因为简单,所以不需要多少代码就可以

weixin_54787921的博客 3万+

Voicebox本地部署:模型下载与离线模式实战指南

在本地语音处理场景中,模型下载失败和离线运行需求是开发者最常遇到的两大难题。理解语音工具的本地推理原理,关键在于掌握模型文件与程序逻辑的分离管理:模型独立下载,程序负责推理,输出留在本机。这种架构带来显著的技术价值——数据不出本地、不依赖公网、批量任务不中断。无论是语音识别转写、语音合成,还是集成到自动化脚本中,本地离线模式都能在隐私敏感或网络不稳定环境下稳定运行。对开发者而言,先解决模型文件的完整获取,再验证离线启动流程,就能绕过“无法下载模型”的常见坑。本文从环境准备、模型放置、服务启动到接口调用,提供

weixin_29048309的博客 308

作物生长模型Oryza V3实战10:运行文件参数详解

运行文件(.rer)用于批量模拟农业场景,包含多组参数集(Rerunset),每组设定独立的时间范围、灌溉施肥方案等,支持测试不同农艺措施效果。该文件可实现参数自动校准,通过多组参数组合迭代寻找最优值。模拟结果文件(res.dat)会记录全部测试时间段的数据,便于用户对比产量、水分利用率等指标,筛选最优方案或分析气候适应性策略。

209

python爬虫教程(五):解析库bs4及爬取实例

大家好,今天分享的是解析库中的bs4,这个库如果是初学者的话肯定听过,本文章的目的是让你知道如何使用bs4。 一、安装及初始印象 1.安装 bs4是一个第三方库,需要安装。如果使用的是默认的IDE,可以在命令行下敲下: pip install bs4 如果是其它的话,建议百度或在论坛上寻找方法。 2.解析器 对于bs4这个库来说,我们主要使用的是BeautifulSoup对象,使用方法如下: # 导包 from bs4 import BeautifulSoup # 创建对象 soup =

csdn1561168266的博客 1万+

Qt图形几何之QRect详解:从基础操作到高级功能全解析

本文全面介绍了Qt框架中的QRect类,详细解析了其核心功能和使用方法。主要内容包括:1)QRect的基本概念与多种构造函数;2)矩形属性获取和状态判断方法;3)几何操作函数(移动、调整大小等);4)几何关系判断(包含、相交等);5)坐标变换和边距处理;6)实用功能与QRectF转换;7)综合应用示例(图形界面、碰撞检测、布局管理);8)性能优化建议和常见陷阱。通过丰富的代码示例,展示了QRect在Qt图形编程中的实际应用,帮助开发者掌握矩形处理的各项操作技巧,提升图形界面开发效率。

专注现代C++实战,从核心语法到高性能编程,助力开发者深入掌握系统级编程精髓。 117

python 网络爬虫全流程教学,从入门到实战(requests+bs4+存储文件)

python 网络爬虫全流程教学,从入门到实战(requests+bs4+存储文件)

qq_57340195的博客 6157

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

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

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

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

Python网络爬虫requests、bs4爬取空姐网图片

如之前的几篇文章(Python爬虫框架之Scrapy详解、Python爬虫框架Scrapy之爬取糗事百科大量段子数据),使用了Scrapy框架并且爬取了糗事百科的段子存入MongoDB中。Scrapy框架很好,也提供了很多扩展点,可以自己编写中间件处理Scrapy的Request和Response。但是可定制化或者可掌控性来说,还是自己写的爬虫更加强一些。如果写简单更加可控的爬虫,还是建议使用Pyt

绕行的专栏 8411

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

【Python爬虫】数据解析之bs4解析和xpath解析

bs4 解析比较简单,但是呢,我们需要了解一些基础的前端知识,然后再使用 bs4 去提取,逻辑就会清晰很多,编写难度也会大大降低。HTML(Hyper Text Markup Language)超文本标记语言,是我们编写网页的最基本同时也是最核心的一种语言,其语法规则就是用不同的标签对网页上的内容进行标记,从而使网页显示出不同的展示效果。...

一以贯之的努力 不得懈怠的人生 1万+

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

网络爬虫是什么?怎么学python爬虫

网络爬虫又称网络蜘蛛、网络机器人,它是一种按照一定的规则自动浏览、检索网页信息的程序或者脚本。网络爬虫能够自动请求网页,并将所需要的数据抓取下来。通过对抓取的数据进行处理,从而提取出有价值的信息。

Itmastergo的博客 3万+

基于Python的网络爬虫开发与实现

本文介绍了一个基于Python的网络爬虫系统设计与实现。系统采用模块化设计,包含图形界面、网络爬虫、数据分析和反爬虫四个核心模块。通过Tkinter构建GUI界面,使用requests和bs4库实现网页抓取与解析,并利用数据可视化API生成分析图表。系统采用代理池等技术应对反爬机制,最终将处理结果存入Excel文件并展示统计分析结果。文章详细阐述了各模块的实现原理和交互流程,为网络爬虫技术应用提供了可参考的实现方案。

毕业作品网站 9548

Python爬虫之bs4模块用法

bs4模块是Python爬虫开发中的强大工具,它提供了丰富的功能来解析和提取HTML文档中的数据。通过熟练掌握其基本用法和高级技巧,你可以有效地构建Python爬虫项目。无论你是初学者还是有一定基础的开发者,bs4都能帮助你快速实现数据抓取的目标。版权声明:本博客内容为原创,转载请保留原文链接及作者信息。参考文章bs4基本运用_bs4基础语句-优快云博客Python爬虫之bs4模块(超详细)_python bs4-优快云博客。

ning的博客 1860

Python爬虫之bs4库

python爬虫常用库之bs4 bs4全名BeautifulSoup,是编写python爬虫常用库之一,主要用来解析html标签。 1.安装 pip install beautifulsoup4 或 python -m pip install beautifulsoup4 2.基本使用方法 bs4中最基础的使用是BeautifulSoup类的使用,注意大小写哦

qq_33995765的博客 1万+

[爬虫]4.数据解析及应用 之 bs4【爬取一部小说的文本】

解析的局部的文本内容都会在标签之间或者标签对应的属性中进行存储,列如图片在标签中,列表数据在标签中bs4数据解析的原理;1.实例化一个BeautifulSoup对象,并且将页面源码数据加载到该对象中2.通过调用BeautifulSoup对象中相关的属性或者方法进行标签定位和数据提取。

雾狼的游戏屋 6046
上一篇: 爬虫基础Requests 之(四) --- Requests模块
下一篇: python基础 之(一) --- 基础语法1
baoding4359
博客等级 码龄11年 2粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值