在Python中,你可以使用BeautifulSoup库来解析HTML文档,并格式化输出。如果你想要在打印时保留原始的缩进和换行,你可以设置pretty_print参数为True。
以下是一个简单的例子:
```python
from bs4 import BeautifulSoup
# 创建一个BeautifulSoup对象
soup = BeautifulSoup("<html><body><p>Hello, world!</p></body></html>", "html.parser")
# 设置pretty_print为True
print(soup.prettify())
```
在这个例子中,我们首先创建了一个BeautifulSoup对象,然后使用它的prettify()方法来格式化输出HTML文档。注意,这个方法会保留原始的缩进和换行,所以我们在打印时就可以看到一个清晰的结构。
如果你想修改HTML文档,你可以使用BeautifulSoup的一些方法。例如,你可以使用find_all()方法来查找所有的<p>标签,然后修改它们的内容:
```python
# 查找所有的<p>标签
for tag in soup.find_all("p"):
tag.string = "Hello, Beautiful Soup!"
print(soup.prettify())
```
在这个例子中,我们首先使用find_all()方法查找所有的<p>标签,然后修改它们的字符串内容。最后,我们再次使用prettify()方法来格式化输出HTML文档。
请注意,BeautifulSoup是一个非常强大的工具,它可以用来解析和生成HTML文档。如果你需要更高级的功能,例如处理XML文档或者进行XPath查询,你可能需要使用其他的库,如lxml。