gpt4 book ai didi

python - urllib2 一次又一次地检索带有 Â 和 & 符号/字母的 html,不确定如何删除它们

转载 作者:太空宇宙 更新时间:2023-11-04 06:10:25 25 4
gpt4 key购买 nike

我正在尝试使用 urllib2 获取页面的 html 并通过 beautifulsoup 对其进行解析,但我遇到了具有 Â 的 html 的问题和 &amp符号/字母无处不在,例如这里是一个代码片段:

<p>Total&amp;2 £100.00.<br/>Total&amp;2 £100.00<br/>Total&amp;2 £100.00</p>

我无法删除 Â使用剥离或替换...

获取html的代码是:

html = urllib2.urlopen("http://www.websitehere.com", timeout=10).read().decode('UTF-8')
soup = BeautifulSoup(html)

有人能帮忙吗?

编辑

我已经尝试了各种解码,也尝试了位于:How to make the python interpreter correctly handle non-ASCII characters in string operations? 中的所有内容。但仍然没有:/

谢谢- Hyflex

最佳答案

我怀疑这与 BS 用来读取 HTML 的解析器有关。他们 document it here但如果你像我一样(在 OSX 上),你可能会遇到一些需要做一些工作的事情:

您会注意到在上面的 BS4 文档页面中,他们指出默认情况下 BS4 将使用 Python 内置的 HTML 解析器。假设您在 OSX 中,Apple 捆绑的 Python 版本是 2.7.2,它对字符格式设置并不宽松。我遇到了同样的问题,所以我升级了 Python 版本来解决它。在 virtualenv 中执行此操作将最大限度地减少对其他项目的干扰。

如果这样做听起来很痛苦,您可以切换到 LXML 解析器:

pip install lxml

然后尝试:

soup = BeautifulSoup(html, "lxml")

根据您的情况,这可能就足够了。我发现这很烦人,需要升级我的 Python 版本。使用虚拟环境,you can migrate your packages相当容易

关于python - urllib2 一次又一次地检索带有 Â 和 & 符号/字母的 html,不确定如何删除它们,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19041193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com