Python语言学习:Beautiful Soup四个对象的具体用法

Beautiful Soup是Python的一个库,最主要的功能是从网页抓取数据。


Beautiful Soup可以提供一些简单的、python式的函数,用来处理导航、搜索、修改分析树等功能。Beautiful Soup是一个工具箱,通过解析文档为用户提供需要抓取的数据。因为简单,所以不需要多少代码,就可以写出一个完整的应用程序。


Beautiful Soup自动将输入文档转换为Unicode编码,输出文档转换为utf-8编码。





Beautiful Soup对象种类


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


(1)Tag


Tag 其实就是HTML 中的一个个标签,比如:


<title>The Dormouse's story</title>


&lt;aclass="sister" href="http://example.com/elsie" id="link1"&gt;Elsie&lt;/a&gt;


上面的title 、a 等等HTML 标签加上里面包括的内容就是Tag


例如:用Beautiful Soup 来获取Tags


print soup.title


print soup.head


print soup.a


print soup.p


print type(soup.a)


print soup.name


print soup.head.name



(2)NavigableString


如果已经得到了标签的内容,要想获取标签内部的文字怎么办?


例如:可以用.string 获取内部文字


print soup.p.string


这样就轻松获取到了标签里面的内容,如果用正则表达式,要复杂很多。它的类型是一个NavigableString,其意思是可以遍历的字符串。


print type(soup.p.string)



(3)BeautifulSoup


BeautifulSoup对象表示的是一个文档的全部内容。很多时候可以把它当作一个特殊的Tag 对象


例如:可以分别获取它的类型,名称,以及属性


print type(soup.name)


print soup.name


print soup.attrs




(4)Comment


Comment对象是一特殊类型NavigableString对象,输出的内容仍不包括注释符号。如果它处理不好,可能会对文本处理造成意想不到的麻烦。


例如:找一个带注释的标签


print soup.a


print soup.a.string


print type(soup.a.string)



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值