soup=bs(html) html2 = soup.prettify('utf-8', formatter='minimal')
prettify() 方法的第二个参数 formatter 到底有几个合法的取值呢?
prettify()
formatter
我们只知道有 minimal, 还有什么呢?我们都不知道.怎么找到这些参数的值呢?这是 python 最不好的一个地方,方法的说明里不写明白,使用者怎么寻找这些特定的取值呢?
minimal
在官方文件裡面有完整的說明:
輸出格式化程式
預設是formatter="minimal"。字串只會被處理到足以確保 Beautiful Soup 產生有效的 HTML/XML
如果你傳入 formatter="html",Beautiful Soup 會盡可能將 Unicode 字元轉換為 HTML 實體
如果你傳入 formatter=None,Beautiful Soup 根本不會修改輸出中的字串。這是最快的選項,但可能會導致 Beautiful Soup 產生無效的 HTML/XML
最後,如果您傳入格式化程式的函數,Beautiful Soup 將為文件中的每個字串和屬性值呼叫該函數一次。你可以在這個功能中做任何你想做的事。
至於要找程式碼:
我回答過的問題:Python-QA
看代碼...
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
不知道怎麼顯示不出來這個圖片
在官方文件裡面有完整的說明:
輸出格式化程式
預設是formatter="minimal"。字串只會被處理到足以確保 Beautiful Soup 產生有效的 HTML/XML
如果你傳入 formatter="html",Beautiful Soup 會盡可能將 Unicode 字元轉換為 HTML 實體
如果你傳入 formatter=None,Beautiful Soup 根本不會修改輸出中的字串。這是最快的選項,但可能會導致 Beautiful Soup 產生無效的 HTML/XML
最後,如果您傳入格式化程式的函數,Beautiful Soup 將為文件中的每個字串和屬性值呼叫該函數一次。你可以在這個功能中做任何你想做的事。
至於要找程式碼:
雷雷我回答過的問題:Python-QA
看代碼...
可以見 https://imgur.com/gallery/VkNUv
不知道怎麼顯示不出來這個圖片