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

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

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

巴扎黑
巴扎黑

répondre à tous(2)
迷茫

在官方的 doc 裡面就有完整的說明了 :

Formateurs de sortie

  • La valeur par défaut est formatter="minimal". Les chaînes ne seront traitées que suffisamment pour garantir que Beautiful Soup génère du HTML/XML valide

  • Si vous transmettez formatter="html", Beautiful Soup convertira les caractères Unicode en entités HTML autant que possible

  • Si vous passez formatter=None, Beautiful Soup ne modifiera pas du tout les chaînes en sortie. C'est l'option la plus rapide, mais elle peut conduire Beautiful Soup à générer du HTML/XML non valide

  • Enfin, si vous transmettez une fonction au formateur, Beautiful Soup appellera cette fonction une fois pour chaque chaîne et valeur d'attribut du document. Vous pouvez faire ce que vous voulez dans cette fonction.

Code 至於要找 :

In [1]: import bs4

In [2]: bs4.BeautifulSoup.prettify.__code__
Out[2]: <code object prettify at 0x103f7f5d0, file "/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages/bs4/element.py", line 1198>

我回答過的問題 : Python-QA

伊谢尔伦

Regardez le code...

    HTML_FORMATTERS = {
        "html" : HTMLAwareEntitySubstitution.substitute_html,
        "minimal" : HTMLAwareEntitySubstitution.substitute_xml,
        None : None
        }

    XML_FORMATTERS = {
        "html" : EntitySubstitution.substitute_html,
        "minimal" : EntitySubstitution.substitute_xml,
        None : None
        }

Peut être trouvé sur https://imgur.com/gallery/VkNUv

Je ne sais pas pourquoi cette image ne peut pas être affichée

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal