Python中的BS4模块-Beautiful Soup

什么是BS4?

是一个可以从HTML或XML文件中提取数据的Python库.它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.Beautiful Soup会帮你节省数小时甚至数天的工作时间.

BS4的安装

pip install beautifulsoup4

BS4的导入

from bs4 import BeautifulSoup

BS4的解析器

解析器 使用方法 优势 劣势
Python标准库 BeautifulSoup(markup, “html.parser”) Python的内置标准库,执行速度快,文档容错能力强 Python 2.7.3 or 3.2.2)前 的版本中文档容错能力差
lxml HTML 解析器 BeautifulSoup(markup, “lxml”) 速度快,文档容错能力强 需要安装C语言库
lxml XML 解析器 BeautifulSoup(markup, [“lxml-xml”]) 速度快,唯一支持xml的解析器 需要安装C语言库
html5lib BeautifulSoup(markup, “html5lib”) 最好的容错性,以浏览器的方式 速度慢,不依赖外部拓展

在官方文档中推荐使用lxml作为解析器,因为效率更高。在Python2.7.3之前的版本和Python3中3.2.2之前的版本,必须安装lxml或html5lib, 因为那些Python版本的标准库中内置的HTML解析方法不够稳定.

创建BeautifulSoup对象

#导入BS4的包
from bs4 import BeautifulSoup
#创建BeautifulSoup对象
#这里的html是爬取到的网页,"lxml"指的是选择器
soup = BeautifulSoup(html,"lxml")

BS中的四大对象

对象 属性
Tag 是html中的一个标签,用BeautifulSoup就能解析出来Tag的具体内容,具体的格式为soup.name,其中name是html下的标签。
BeautifulSoup 整个html文本对象,可当作Tag对象.
NavigableString 标签内的文本对象
Comment 是一个特殊的NavigableString对象,如果html标签内存在注释,那么它可以过滤掉注释符号保留注释文本

Tag属性的介绍

Tag对象:

from bs4 import BeautifulSoup


#创建一段html标签
html = '''
    <b class="boldest">Extremely bold</b>
    <ul>
        <li>li</li>
    </ul>
'''
soup = BeautifulSoup(html,"lxml")
#创建一个tag对象
tag 
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值