前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python-数据解析-Beautiful Soup-上

Python-数据解析-Beautiful Soup-上

作者头像
小团子
发布2019-07-18 15:12:03
7070
发布2019-07-18 15:12:03
举报
文章被收录于专栏:数据云团
代码语言:javascript
复制
from bs4 import BeautifulSoup

bs4 是一个 HTML/XML 的解析器,其主要功能是解析和提取 HTML/XML 数据。

bs4 库会将复杂的 HTML 文档换成树结构(HTML DOM),这个结构中的每个节点都是一个 Python 对象。

  • bs4.element.Tag 类:

表示 HTML 中的标签,是最基本的信息组织单元,它有两个非常重要的属性,分别是表示标签名字的 name 属性和表示标签属性的 attrs 属性。

  • bs4.element.NavigableString 类:

表示 HTML 中标签的文本。

  • bs4.BeautifulSoup 类:

表示 HTML DOM 中的全部内容,支持遍历文档树和搜索文档树的大部分方法。

  • bs4.element.Comment 类:

表示标签内字符串的注释部分,是一种特殊的 NavigableString 对象。

使用 bs4:

  • 创建一个 BeautifulSoup 类型的对象。

根据 HTML 或者文件创建 BeautifulSoup 对象。

  • 通过 BeautifulSoup 对象的操作方法进行解读搜索。

根据 DOM 树进行各种节点的搜索(find_all() 方法可以搜索出所有满足要求的节点,find() 方法只会搜索出第一个满足要求的节点 ),只要获得了一个节点,就可以访问节点的名称、属性和文本。

  • 利用 DOM 树结构标签的特性,进行更详细的节点信息获取。

在搜索节点时,也可以按照节点的名称、节点的属性或者节点的文字进行搜索。

一、构建 BeautifulSoup 对象

通过一个字符串或者类文件对象可以创建 BeautifulSoup 类的对象。

代码语言:javascript
复制
def __init__(self, markup="", features=None, builder=None, parse_only=None, from_encoding=None, exclude_encodings=None, **kwargs)
  • markup:

要解析的文档字符串或文件对象。

  • features:

解析器的名称。

  • builder:

指定的解析器。

  • from_encoding:

指定的编码格式。

  • exclude_encodings:

排除的编码格式。

代码语言:javascript
复制
# 根据字符串 html_doc 创建一个 BeautifulSoup 对象
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_doc, 'lxml')

在创建 BeautifulSoup 实例时共传入了两个参数。其中,第一个参数表示包含被解析 HTML 文档的字符串;第二个参数表示使用 lxml 解析器进行解析。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-03-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 数据云团 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档