首頁  >  問答  >  主體

python - 怎么查看Beautiful Soup的prettify(encoding, formatter="minimal")

soup=bs(html)
html2 = soup.prettify('utf-8', formatter='minimal')

prettify() 方法的第二个参数 formatter 到底有几个合法的取值呢?

我们只知道有 minimal, 还有什么呢?我们都不知道.
怎么找到这些参数的值呢?
这是 python 最不好的一个地方,方法的说明里不写明白,使用者怎么寻找这些特定的取值呢?

巴扎黑巴扎黑2741 天前966

全部回覆(2)我來回復

  • 迷茫

    迷茫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

    回覆
    0
  • 伊谢尔伦

    伊谢尔伦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

    不知道怎麼顯示不出來這個圖片

    回覆
    0
  • 取消回覆