【发布时间】:2013-10-07 21:12:16
【问题描述】:
我读到 BeautifulSoup 存在与符号 (&) 的问题,这些符号在 HTML 中并不完全正确,但大多数浏览器仍能正确解释。然而奇怪的是,我在 Mac 系统和 Ubuntu 系统上得到了不同的行为,两者都使用 bs4 版本 4.3.2:
html='<td>S&P500</td>'
s=bs4.BeautifulSoup(html)
在 Ubuntu 系统上 s 等于:
<td>S&P500;</td>
注意最后添加的分号,这是一个真正的问题
在mac系统上:
<html><head></head><body>S&P500</body></html>
别管 html/head/body 标签,我可以处理它,但请注意这次 S&P 500 被正确解释,没有添加“;”。
知道发生了什么吗?如何在不使用丑陋的 hack 的情况下制作跨平台代码?非常感谢,
【问题讨论】:
-
我刚刚在 Debian 和 Mac OS X 上损坏了
<td>S&amp;P500;</td>,版本 4.3.2 由pip安装。看起来像一个错误。
标签: python html linux macos beautifulsoup