prettify
特定のタグに新しい行を作成しないようにすることが可能かどうか疑問に思っていました。
タグが分割されないようにしたいと思います。たとえば、次のようにspan
なります。a
doc="""<div><div><span>a</span><span>b</span>
<a>link</a></div><a>link1</a><a>link2</a></div>"""
from bs4 import BeautifulSoup as BS
soup = BS(doc)
print soup.prettify()
以下は私が印刷したいものです:
<div>
<div>
<span>a</span><span>b</span>
<a>link</a>
</div>
<a>link1</a><a>link2</a>
</div>
しかし、これは実際に印刷されるものです:
<div>
<div>
<span>
a
</span>
<span>
b
</span>
<a>
link
</a>
</div>
<a>
link1
</a>
<a>
link2
</a>
</div>
このように新しい行にインライン スタイルのタグを配置すると、実際にはそれらの間にスペースが追加され、実際のページの外観がわずかに変わります。違いを表示する 2 つの jsfiddles にリンクします。
新しい行のアンカー タグ
隣同士のアンカータグ
なぜそれが BeautifulSoup にとって重要なのか疑問に思っているなら、それは私が Web ページのデバッガーを書いているからであり、prettify 関数は (bs4 の他のものと同様に) 非常に便利です。しかし、文書をきれいにすると、いくつかの変更を加える危険があります。
prettify
それで、特定のタグを分割しないように設定できるように関数をカスタマイズする方法はありますか?