系列文章目录
Beautiful Soup教程-简介及安装
Beautiful Soup教程-基本使用
Beautiful Soup教程-认识选择器
Beautiful Soup教程-节点选择器之选择元素的方法
Beautiful Soup教程-节点选择器之提取信息的方法
Beautiful Soup教程-节点选择器之嵌套选择的方法
Beautiful Soup教程-节点选择器之关联选择的方法
Beautiful Soup教程-方法选择器
Beautiful Soup教程-CSS选择器
前言
Beautiful Soup是Python的一个网页解析库,处理快捷; 支持多种解析器,功能强大。教程细致讲解Beautiful Soup的深入使用、节点选择器、CSS选择器、Beautiful Soup4的方法选择器等重要知识点,是学好爬虫的基础课程。
节点选择器——提取信息的方法
学习目标
- 掌握节点选择器提取信息的方法
1. 提取信息的方法
通过选择元素的方式,我们获取到了标签的全部信息,如果我们想要提取标签中的信息,可以使用如下方式:

(1) 获取节点名称
格式:
soup.tag.name返回值:字符串
示例:
html = ''' <div class="panel"> <div class="panel-heading"> <h4>Hello</h4> </div> <div class="panel-body"> <ul class="list" id="list-1"> <li class="element"> Foo</li> <li class="element">Bar</li> <li class="element">]ay</li> </ul> <ul class="list list-small" id="list-2"> <li class="element"> Foo</li> <li class="element">Bar</li> </ul> </div> </div> ''' from bs4 import BeautifulSoup soup = BeautifulSoup(html, 'lxml') # 获取a标签的名字 result = soup.a.name print(result) # 输出结果: a
(2) 获取节点属性值
格式:
soup.tag.attrs返回值:字典
示例:
html = ''' <div class="panel"> <div class="panel-heading"> <h4>Hello</h4> </div> <div class="panel-body"> <ul class="list" id="list-1"> <li class="element"> Foo</li> <li class="element">Bar</li> <li class="element">]ay</li> </ul> <ul class="list list-small" id="list-2"> <li class="element"> Foo</li> <li class="element">Bar</li> </ul> </div> </div> ''' from bs4 import BeautifulSoup soup = BeautifulSoup(html, 'lxml') # 获取a标签的属性 result = soup.a.attrs print(result) # 输出结构 {'href': 'http://example.com/elsie', 'class': ['sister'], 'id': 'link1'}
(3) 获取节点文本内容
格式:
soup.tag.string返回值:字符串
示例:
html = ''' <div class="panel"> <div class="panel-heading"> <h4>Hello</h4> </div> <div class="panel-body"> <ul class="list" id="list-1"> <li class="element"> Foo</li> <li class="element">Bar</li> <li class="element">]ay</li> </ul> <ul class="list list-small" id="list-2"> <li class="element"> Foo</li> <li class="element">Bar</li> </ul> </div> </div> ''' from bs4 import BeautifulSoup soup = BeautifulSoup(html, 'lxml') # 获取a标签的内容 result = soup.a.string print(result) # 输出结构 Elsie
2. 总结
节点选择器提取信息的方法:
- soup.tag.name
- 用来提取节点名称
- soup.tag.attrs
- 用来提取属性
- soup.tag.string
- 用来提取内容
学IT上博学谷
版权声明:本文为ares_beyong原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。