这篇文章主要介绍了Python爬虫库BeautifulSoup如何获取对象(标签)名,属性,内容,注释,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获、下面让小编带着大家一起了解一下。
Python的数据类型有哪些吗?
python的数据类型:1。数字类型,包括int(整型),长(长整型)和浮子(浮点型)。2。字符串,分别是str类型和unicode类型。3。布尔型,Python布尔类型也是用于逻辑运算,有两个值:True(真)和虚假的(假)。4。列表,列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型。5。元组,元组用“()”标识,内部元素用逗号隔开。6。字,字典典是一种键值对的集合。7。集合,集合是一个无序的,不重复的数据组合。
一、标签(标签)对象
1。XML或HTML标记对象与原生文档中的标签相同。
得到bs4 import BeautifulSoup 时间=soup BeautifulSoup (& # 39; & lt; b 类=癰oldest"祝辞Extremely bold & # 39;, & # 39; lxml # 39;) tag =soup.b 类型(标签)
bs4.element.Tag
2.标签的名称属性
每个标签都有自己的名字,通过. Name来获取
tag.name
& # 39; b # 39;
tag.name =,“blockquote", #,对原始文档进行修改 标记
& lt; blockquote 类=癰oldest"祝辞Extremely bold
3。标记的属性属性
获取单个属性
标记(& # 39;类# 39;]
[& # 39;大胆# 39;]
按字典的方式获取全部属性
标记。attrs
{& # 39;类# 39;:,(& # 39;大胆# 39;]}
添加属性
标记(& # 39;类# 39;],=,& # 39;verybold& # 39; 标签(& # 39;id # 39;],=, 1 打印(标签)
& lt; blockquote 类=皏erybold", id=?”;在Extremely bold
删除属性
del 标签(& # 39;类# 39;】 del 标记[& # 39;id # 39;】 标记
& lt; blockquote> Extremely bold
4。标签的多值属性
多值属性会返回一个列表
css_soup =, BeautifulSoup (& # 39; & lt; p 类=癰ody strikeout"祝辞& lt;/p> & # 39;, & # 39; lxml # 39;) 打印(css_soup.p[& # 39;类# 39;])
[& # 39;身体# 39;,,& # 39;三振# 39;]
rel_soup =, BeautifulSoup (& # 39; & lt; p> Back 用,& lt; a rel=癷ndex"祝辞homepage & lt;/p> & # 39;, & # 39; lxml # 39;) 打印(rel_soup.a [& # 39; rel # 39;]) rel_soup.a [& # 39; rel # 39;],=,(& # 39;指数# 39;,,& # 39;内容# 39;】 打印(rel_soup.p)
[& # 39;指数# 39;】 & lt; p> Back 用,& lt; a rel=癷ndex contents"祝辞homepage & lt;/p>
如果转换的文档是XML格式,那么标记中不包含多值属性
xml_soup =, BeautifulSoup (& # 39; & lt; p 类=癰ody strikeout"祝辞& lt;/p> & # 39;,, & # 39; XML # 39;) xml_soup.p[& # 39;类# 39;]
& # 39; body 三振# 39;
二,可遍历字符串(NavigableString)
1。字符串常被包含在标签内,使用NavigableString类来包装标签中的字符串
得到bs4 import BeautifulSoup 时间=soup BeautifulSoup (& # 39; & lt; b 类=癰oldest"祝辞Extremely bold & # 39;, & # 39; lxml # 39;) tag =soup.b 打印(tag.string) print(类型(tag.string)
Extremely 大胆 & lt; class & # 39; bs4.element.NavigableString& # 39;在
<课程> 2。一个NavigableString字符串与Python中的str字符串相同,通过str()方法可以直接将NavigableString对象转换成str字符串类>
unicode_string =, str (tag.string) 打印(unicode_string) print(类型()的unicode_string)
Extremely 大胆 & lt; class & # 39; str # 39;在
3。标签中包含的字符串不能编辑,但是可以被替换成其它的字符串,用replace_with()方法
tag.string.replace_with (“No longer bold") 标记
& lt; b 类=癰oldest"祝辞No longer bold
三,BeautifulSoup对象BeautifulSoup对象表示的是一个文档的全部内容。