0

BeautifulSoup にはアンパサンド (&) に関する問題があり、HTML では厳密には正しくないが、ほとんどのブラウザーでは正しく解釈されるということを読みました。しかし奇妙なことに、Mac システムと Ubuntu システムでは、両方とも bs4 バージョン 4.3.2 を使用すると、異なる動作が発生します。

html='<td>S&P500</td>'
s=bs4.BeautifulSoup(html)

Ubuntu システムでは、s は次のようになります。

<td>S&amp;P500;</td>

最後にセミコロンが追加されていることに注意してください。これは実際の問題です

Mac システムの場合:

<html><head></head><body>S&amp;P500</body></html>

html/head/body タグは気にしないでください。私はそれで対処できますが、今回は S&P 500 が正しく解釈され、「;」が追加されていないことに注意してください。

何が起こっているのか分かりますか?醜いハックに頼らずにクロスプラットフォームのコードを作成する方法は? どうもありがとう、

4

1 に答える 1