Python BeautifulSoup prettify() 方法
Python BeautifulSoup 的 prettify() 方法可以将一个 HTML 或 XML 的标签结构格式化为易于阅读的形式,并添加缩进和换行符。
下面是一个简单的示例代码,使用 BeautifulSoup 获取一个简单的 HTML 网页并使用 prettify() 方法格式化输出:
from bs4 import BeautifulSoup import requests url = 'http://www.pidancode.com' html = requests.get(url).text soup = BeautifulSoup(html, 'html.parser') print(soup.prettify())
输出结果如下所示:
<!DOCTYPE html> <html> <head> <title> 皮蛋编程- 让编程更简单 </title> <meta charset="utf-8"/> <meta content="width=device-width, initial-scale=1" name="viewport"/> <link href="https://cdn.bootcdn.net/ajax/libs/font-awesome/5.15.1/css/all.min.css" rel="stylesheet" type="text/css"/> <link href="/static/img/favicon.ico" rel="shortcut icon" type="image/x-icon"/> <link href="/static/css/pidancode.css?20210307" rel="stylesheet" type="text/css"/> <script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.min.js" type="text/javascript"> </script> </head> <body> <nav class="navbar navbar-expand-lg fixed-top navbar-dark bg-primary"> <a class="navbar-brand" href="/"> <img alt="pidancode.com" src="/static/img/logo.png" width="64"/> 皮蛋编程 </a> <button aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation" class="navbar-toggler" data-target="#navbarNav" data-toggle="collapse" type="button"> <span class="navbar-toggler-icon"> </span> </button> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav mr-auto"> <li class="nav-item" data-toggle="tooltip" title="文章分类"> <a class="nav-link" href="/category/"> <i class="fas fa-th-large"> </i> 分类 </a> </li> <li class="nav-item" data-toggle="tooltip" title="标签"> <a class="nav-link" href="/tags/"> <i class="fas fa-tags"> </i> 标签 </a> </li> <li class="nav-item" data-toggle="tooltip" title="关于我们"> <a class="nav-link" href="/about/"> <i class="fas fa-info-circle"> </i> 关于 </a> </li> </ul> </div> </nav> <div class="container-fluid mt-5"> <div class="row"> <div class="col-md-8"> <h1 class="title"> 皮蛋编程 </h1> <ul class="list-unstyled"> <li> <span class="date"> 2021-03-02 </span> <a href="/190/self-organizing-map/"> 自组织映射(self-organizing map,SOM) </a> </li> <li> <span class="date"> 2021-02-20 </span> <a href="/189/http2-dump/"> http2-dump:WebMON 推出基于 Wireshark 的 HTTP/2 抓包工具 </a> </li> <!-- 此处省略几条... --> </ul> <nav> <ul class="pagination justify-content-center"> <!-- 此处省略分页部分,总共7页--> </ul> </nav> </div> </div> </div> </body> </html>
可以看到,HTML 页面中的标签结构得到了美观的格式化,每一个标签都按照层级缩进显示,易于读取和理解。
总的来说,prettify() 方法是 BeautifulSoup 中一个十分实用的工具,能够帮助我们更好地处理 HTML 和 XML 中的标签结构,提高代码的可读性和可维护性。
相关文章