首页 > 解决方案 > 如何删除 html 源代码中的 '\xa0'?

问题描述

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

代码是在 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'

标签: pythonbeautifulsoup

解决方案


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

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

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


推荐阅读