美丽汤文档学习记录1

http://www.crummy.com/software/BeautifulSoup/bs4/doc/index.zh.html#id15

美丽汤中文文档~

前面的写在纸上了,有空再藤上来。

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

Tag:

Tag 对象与XML或HTML原生文档中的tag相同,即所有<div>,<a>,<p>,<h>等都属于Tag标签:

soup = BeautifulSoup('<b class="boldest">Extremely bold</b>')
tag = soup.b
type(tag)
# <class 'bs4.element.Tag'>
  1. Tag有很多属性,同时它有最主要的两个方法能够对属性进行操作。  
  •  name

         这个方法的作用是“.name”时能够获取tag的名字。     

tag.name
# u'b'

         注意:

如果改变了tag的name,那将影响所有通过当前Beautiful Soup对象生成的HTML文档:

tag.name = "blockquote"
tag
# <blockquote class="boldest">Extremely bold</blockquote>
  •     Attributes 

          这个方法的作用是“.attrs” 能够获取tag的全部属性。

tag.attrs
# {u'class': u'boldest'}

    2.    Tag 的属性

  • Tag有许多属性,tag的属性的操作方法与字典相同
  • tag的属性可以被添加,删除或修改. 再说一次, tag的属性操作方法与字典一样
tag['class'] = 'verybold'
tag['id'] = 1
tag
# <blockquote class="verybold" id="1">Extremely bold</blockquote>

del tag['class']
del tag['id']
tag
# <blockquote>Extremely bold</blockquote>

tag['class']
# KeyError: 'class'
print(tag.get('class'))
# None
  • 多值属性

212548_ECrI_3121852.png 

NavigableString:

字符串常被包含在Tag(标签)内,如

125500_vwIp_3121852.png

Beautiful Soup用 NavigableString 类来包装tag中的字符串“Extremely bold”。

tag.string
# u'Extremely bold'
type(tag.string)
# <class 'bs4.element.NavigableString'>

NavigableString字符串可以用unicode()方法转换成unicode字符串

unicode_string = unicode(tag.string)
unicode_string
# u'Extremely bold'
type(unicode_string)
# <type 'unicode'>

tag中的字符串不能编辑,但可以替换掉,使用replace_with()方法。

tag.string.replace_with("stringstring")

转载于:https://my.oschina.net/u/3121852/blog/831004

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值