python - 怎么查看Beautiful Soup的prettify(encoding, formatter="minimal")
巴扎黑
巴扎黑 2017-04-18 10:27:16
0
2
1015
soup=bs(html)
html2 = soup.prettify('utf-8', formatter='minimal')

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

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

巴扎黑
巴扎黑

全部回覆(2)
迷茫

在官方文件裡面有完整的說明:

輸出格式化程式

  • 預設是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

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

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板