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

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

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

巴扎黑
巴扎黑

membalas semua(2)
迷茫

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

Pemformat output

  • Lalai ialah formatter="minimal". Rentetan hanya akan diproses secukupnya untuk memastikan Sup Cantik menghasilkan HTML/XML yang sah

  • Jika anda lulus dalam formatter="html", Beautiful Soup akan menukar aksara Unicode kepada entiti HTML apabila boleh

  • Jika anda lulus dalam formatter=Tiada, Beautiful Soup tidak akan mengubah suai rentetan sama sekali pada output. Ini adalah pilihan terpantas, tetapi ia mungkin menyebabkan Sup Cantik menjana HTML/XML tidak sah

  • Akhir sekali, jika anda memasukkan fungsi untuk pemformat, Beautiful Soup akan memanggil fungsi itu sekali untuk setiap rentetan dan nilai atribut dalam dokumen. Anda boleh melakukan apa sahaja yang anda mahu dalam fungsi ini.

Kod 至於要找:

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

伊谢尔伦

Tengok kod...

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

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

Boleh didapati di https://imgur.com/gallery/VkNUv

Saya tidak tahu mengapa gambar ini tidak boleh dipaparkan

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan