Python爬虫库BeautifulSoup获取对象(标签)名,属性,内容,注释
一、Tag(标签)对象
1.Tag对象与XML或HTML原生文档中的tag相同。
frombs4importBeautifulSoup soup=BeautifulSoup('Extremelybold','lxml') tag=soup.b type(tag)
bs4.element.Tag
2.Tag的Name属性
每个tag都有自己的名字,通过.name来获取
tag.name
'b'
tag.name="blockquote"#对原始文档进行修改 tag
Extremelybold
3.Tag的Attributes属性
获取单个属性
tag['class']
['boldest']
按字典的方式获取全部属性
tag.attrs
{'class':['boldest']}
添加属性
tag['class']='verybold' tag['id']=1 print(tag)
Extremelybold
删除属性
deltag['class'] deltag['id'] tag
Extremelybold
4.Tag的多值属性
多值属性会返回一个列表
css_soup=BeautifulSoup('','lxml') print(css_soup.p['class'])
['body','strikeout']
rel_soup=BeautifulSoup('Backtothe
','lxml') print(rel_soup.a['rel']) rel_soup.a['rel']=['index','contents'] print(rel_soup.p)homepage
['index']Backtothe
homepage
如果转换的文档是XML格式,那么tag中不包含多值属性
xml_soup=BeautifulSoup('','xml') xml_soup.p['class']
'bodystrikeout'
二、可遍历字符串(NavigableString)
1.字符串常被包含在tag内,使用NavigableString类来包装tag中的字符串
frombs4importBeautifulSoup soup=BeautifulSoup('Extremelybold','lxml') tag=soup.b print(tag.string) print(type(tag.string))
Extremelybold
unicode_string=str(tag.string) print(unicode_string) print(type(unicode_string))
Extremelybold
3.tag中包含的字符串不能编辑,但是可以被替换成其它的字符串,用replace_with()方法
tag.string.replace_with("Nolongerbold") tag
Nolongerbold
三、BeautifulSoup对象BeautifulSoup对象表示的是一个文档的全部内容。
大部分时候,可以把它当作Tag对象,它支持遍历文档树和搜索文档树中描述的大部分的方法。
四、注释与特殊字符串(Comment)对象
markup="" soup=BeautifulSoup(markup,'lxml') comment=soup.b.string type(comment)
bs4.element.Comment
Comment对象是一个特殊类型的NavigableString对象
comment
'Hey,buddy.Wanttobuyausedparser?'
更多关于Python爬虫库BeautifulSoup的使用方法请查看下面的相关链接
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。