如何删除 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'? [复制]的主要内容,如果未能解决你的问题,请参考以下文章