Python Beautiful Soup模块的使用

一、安装

pip install beautifulsoup4

Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库;它能够实现文档导航,查找,修改文档等操作。

二、使用方法

from bs4 import BeautifulSoup # 引用模块

# features html的解析引擎
soup = BeautifulSoup('html或者xml文件',features='html.parser')

# html、xml查找匹配的第一个标签和属性节点
target1 = soup.find(html、xml中的标签和属性) 
target1 = soup.select(html、xml中的标签和属性)

# 在target1 查找匹配的所有标签和属性节点,返回一个列表
target2 = target.find_all(html、xml中的标签和属性) 
# 通过遍历 或者 索引获取其中的节点内容 target2[0]

# 获取标签中的文本内容 str 类型
target1.text 

# 获取标签中的文本内容 bytes 类型(字节类型)
target1.content 

# 获取节点所有的属性,返回字典
dict = target1.attrs

# 获取某一个属性
htmlHref = dict.get('href')

2.1、html解析器

下表列出了主要的解析器,以及它们的优缺点:

解析器 使用方法 优势 劣势
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"])

BeautifulSoup(markup, "xml")

  • 速度快
  • 唯一支持XML的解析器
  • 需要安装C语言库
html5lib BeautifulSoup(markup, "html5lib")
  • 最好的容错性
  • 以浏览器的方式解析文档
  • 生成HTML5格式的文档
  • 速度慢
  • 不依赖外部扩展

2.2、使用的方法

target.name 获取标签的名称
target.attrs = {key:value} # 修改标签的属性
target.attrs['id'] = {'id':'名称'}

猜你喜欢

转载自blog.csdn.net/u011146423/article/details/82976998