soup=bs(html)
html2 = soup.prettify('utf-8', formatter='minimal')
prettify()
方法的第二个参数 formatter
到底有几个合法的取值呢?
我们只知道有 minimal
, 还有什么呢?我们都不知道.
怎么找到这些参数的值呢?
这是 python 最不好的一个地方,方法的说明里不写明白,使用者怎么寻找这些特定的取值呢?
迷茫2017-04-18 10:29:16
在官方文档里面有完整的说明:
输出格式化程序
默认是formatter="minimal"。字符串只会被处理到足以确保 Beautiful Soup 生成有效的 HTML/XML
如果你传入 formatter="html",Beautiful Soup 会尽可能将 Unicode 字符转换为 HTML 实体
如果你传入 formatter=None,Beautiful Soup 根本不会修改输出中的字符串。这是最快的选项,但可能会导致 Beautiful Soup 生成无效的 HTML/XML
最后,如果您传入格式化程序的函数,Beautiful Soup 将为文档中的每个字符串和属性值调用该函数一次。你可以在这个功能中做任何你想做的事。
至于要找代码:
雷雷我回答过的问题:Python-QA
伊谢尔伦2017-04-18 10:29:16
看代码...
HTML_FORMATTERS = {
"html" : HTMLAwareEntitySubstitution.substitute_html,
"minimal" : HTMLAwareEntitySubstitution.substitute_xml,
None : None
}
XML_FORMATTERS = {
"html" : EntitySubstitution.substitute_html,
"minimal" : EntitySubstitution.substitute_xml,
None : None
}
可以见 https://imgur.com/gallery/VkNUv
不知道怎么显示不出来这个图片