如何删除 html 源代码中的 '\xa0'? [复制]

Posted

技术标签:

【中文标题】如何删除 html 源代码中的 \'\\xa0\'? [复制]【英文标题】:How to remove '\xa0' in html source? [duplicate]如何删除 html 源代码中的 '\xa0'? [复制] 【发布时间】:2020-12-19 13:46:55 【问题描述】:

我正在尝试使用美汤来抓取亚马逊页面的价格信息。

代码是在 macOS Catalina(版本 10.15.5)上编写的,使用的网络浏览器是 google chrome 版本 84.0.4147.135(官方构建)(64 位)。 Python 版本 3.8.2。

您可以从下面的代码中看到最后一行的输出(价格)。

有没有办法从输出中删除不需要的字符或改进我的代码以使最终输出(价格)仅反映 ₹1,700.00?

不需要的字符是“\xa0”

此外,是否对这些字符进行了解释,说明它们的含义以及为什么它们会作为输出的一部分出现。谢谢。

请参考以下代码:

import bs4

import requests

headers = 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_6) AppleWebKit/537.36 (Khtml, like Gecko) Chrome/85.0.4183.83 Safari/537.36'

res = requests.get('https://www.amazon.in/Automate-Boring-Python-Albert-Sweigart/dp/1593275994', headers=headers)

res.raise_for_status()

soup = bs4.BeautifulSoup(res.text)

soup.select('#soldByThirdParty > span')

[₹1,700.00]

elems = soup.select('#soldByThirdParty > span')

elems[0].text

'₹\xa01,700.00'

【问题讨论】:

\xa0可以参考this,简单的字符串拆分和concat就可以得到你想要的结果。 【参考方案1】:

要替换不需要的字符,您可以使用经典的 replace() 函数,如下所示:

price = elems[0].text.replace(u'\xa0', u'')

如果您想了解有关\xa0 角色的更多信息,我可以建议您this

【讨论】:

以上是关于如何删除 html 源代码中的 '\xa0'? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何从熊猫字典中删除 /xa0?

在使用 python 进行网络抓取时,是不是有任何直接的方法可以从输出中删除 \xa0 [重复]

从列表中的字符串中删除违规字符[重复]

在GridView中的每一页末尾添加空行

DataSet中的表动态设置主键外键的方法

解决xa0空格报错,cmd下执行 python文件