我正在尝试使用漂亮的汤料刮擦Amazon Page的价格信息。
代码是在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'
答案 0 :(得分:1)
要替换不需要的角色,可以使用经典的replace()
函数,如下所示:
price = elems[0].text.replace(u'\xa0', u'')
如果您想进一步了解\xa0
字符,我可以建议您this