第三章 数据解析(八) 2019-12-18

八、bs4 – 四种常见的对象讲解


 

四个常用对象:

 

BeautifulSoup将复杂的HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,所有对象可以归纳为4种:


1、Tag

Tag通俗点讲就是HTML中的一个个标签。我们可以利用soup加标签名轻松获取这些标签的内容,这些对象的类型是bs4.element.Tag。但是注意,它查找的是在所有内容中的第一个符合要求的标签。


2、NavigableString

如果拿到标签后,还想获取标签中的内容。那么可以通过tag.string获取标签中的文字。

 

3、BeautifulSoup

BeautifulSoup对象表示的是一个文档的全部内容。大部分时候,可以把它当作Tag对象,它支持遍历文档树和搜索文档树中描述的大部分方法。


4、Comment

Tag,NavigableString,BeautifullSoup几乎覆盖了html和xml中的所有内容,但是还有一些特殊对象容易让人担心的内容是文档的注释部分。

Comment对象是一个特殊类型的NavigableString对象。



示例代码:



from bs4 import BeautifulSoup

 

html = """

The Dormouse's story

Once upon a time there were three littlt sisters; and their names were ,; and they lived at the bottom of a well.

...

"""

 

soup= BeautifulSoup(html,'lxml')

# print(soup.p)         # 查看符合条件的第一个标签

# print(type(soup.p))      #查看类型

 

# print(soup.p.name)

# print(soup.p.attrs)

# print(soup.p['class'])

# print(soup.p.get('class'))      #与上一行等价

 

# soup.p['class'] = 'new'         #修改标签属性值为new

# print(soup.p)

 

 

from bs4.element import NavigableString

# print(soup.p.string)         # 打印p标签下字符串内容

# print(type(soup.p.string))

 

# print(type(soup))

 

from bs4.element import Comment

print(soup.b.string)

print(type(soup.b.string))



上一篇文章 第三章 数据解析(七) 2019-12-17 地址: 

https://www.jianshu.com/p/32b4cadbf9b7

下一篇文章 第三章 数据解析(九) 2019-12-19 地址:

https://www.jianshu.com/p/207d1084e9f7



以上资料内容来源网络,仅供学习交流,侵删请私信我,谢谢。

你可能感兴趣的:(第三章 数据解析(八) 2019-12-18)