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
不知道怎麼顯示不出來這個圖片