Beautiful Soup 简明教程
Beautiful Soup - Output Formatting
如果提供给 BeautifulSoup 构造函数的 HTML 字符串包含任何 HTML 实体,它们将被转换为 Unicode 字符。
HTML 实体是一个以 & (&)开头并以分号(;)结尾的字符串。它们用于显示保留字符(否则将被解释为 HTML 代码)。一些 HTML 实体的示例:
< |
less than |
< |
< |
> |
greater than |
> |
> |
& |
ampersand |
& |
& |
" |
double quote |
" |
" |
' |
single quote |
' |
' |
" |
Left Double quote |
“ |
“ |
" |
Right double quote |
” |
” |
£ |
Pound |
£ |
£ |
¥ |
yen |
¥ |
¥ |
€ |
euro |
€ |
€ |
© |
copyright |
© |
© |
默认情况下,在输出时转义的唯一字符是裸露的 & 和尖括号。这些被转换为“&”、“<”和“>”。
对于其他字符,它们将被转换为 Unicode 字符。
Example
from bs4 import BeautifulSoup
soup = BeautifulSoup("Hello “World!”", 'html.parser')
print (str(soup))
Example
from bs4 import BeautifulSoup
soup = BeautifulSoup("Hello “World!”", 'html.parser')
print (soup.encode())
Output
b'Hello \xe2\x80\x9cWorld!\xe2\x80\x9d'
要更改此行为,请为 prettify() 方法的格式化程序参数提供一个值。对于格式化程序,以下可能的值:
formatter="minimal" - 这是默认值。字符串仅会得到足够的处理,以确保 Beautiful Soup 能够生成有效的 HTML/XML
formatter="html" − 只要有可能,Beautiful Soup 将把 Unicode 字符转换为 HTML 实体。
formatter="html5" - 它类似于 formatter="html”,但 Beautiful Soup 将在 HTML 空标签(如“br”)中省略结束斜杠。
formatter=None - Beautiful Soup 根本不会在输出时修改字符串。这是最快的选项,但可能会导致 Beautiful Soup 生成无效的 HTML/XML。