- Beautiful Soup教程
- Beautiful Soup - 主页
- Beautiful Soup - 概述
- Beautiful Soup - 安装
- Beautiful Soup - 汤页面
- Beautiful Soup - 各种物体
- Beautiful Soup - 按标签导航
- Beautiful Soup - 寻找树
- Beautiful Soup-修改树
- Beautiful Soup - 编码
- Beautiful Soup - 美丽的物体
- 仅解析文档的部分
- Beautiful Soup - 故障排除
- Beautiful Soup有用的资源
- Beautiful Soup - 快速指南
- Beautiful Soup - 有用的资源
- Beautiful Soup - 讨论
Beautiful Soup - 汤页面
在前面的代码示例中,我们使用字符串方法通过漂亮的构造函数解析文档。另一种方法是通过打开文件句柄传递文档。
from bs4 import BeautifulSoup with open("example.html") as fp: soup = BeautifulSoup(fp) soup = BeautifulSoup("<html>data</html>")
首先将文档转换为 Unicode,然后将 HTML 实体转换为 Unicode 字符:</p>
import bs4 html = '''<b>tutorialspoint</b>, <i>&web scraping &data science;</i>''' soup = bs4.BeautifulSoup(html, 'lxml') print(soup)
输出
<html><body><b>tutorialspoint</b>, <i>&web scraping &data science;</i></body></html>
BeautifulSoup 然后使用 HTML 解析器解析数据,或者您明确地告诉它使用 XML 解析器进行解析。
HTML 树结构
在研究 HTML 页面的不同组件之前,让我们首先了解 HTML 树结构。
文档树中的根元素是 html,它可以有父元素、子元素和兄弟元素,这由它在树结构中的位置决定。要在 HTML 元素、属性和文本之间移动,您必须在树结构中的节点之间移动。
让我们假设网页如下所示 -
转换为 html 文档如下 -
<html><head><title>TutorialsPoint</title></head><h1>Tutorialspoint Online Library</h1><p<<b>It's all Free</b></p></body></html>
这仅仅意味着,对于上面的 html 文档,我们有一个 html 树结构,如下所示 -