我正在阅读 python/BS4 中的一些产品页面,并在一行代码中找到了一个有趣的品种,即商品的价格。
有时 HTML 是:
<span class="currency">$<span id="product_price">0.00</span></span>
其他时候会是:
<span class="currency">$17.95</span></b>
使用price = soup.find('span', {'class' : 'currency'})
我可以隔离跨度,但是当我尝试仅获取文本时,使用
priceStr = price.findAll(text=re.compile(r''))
然后将其写入输出文件
divpage.write('Price = ' + str(priceStr) + '\n')
我得到(对于第一个例子):
Price = [u'$', u'0.00']
我的问题是,有没有办法只读取价格,没有'$',以及如何将编码从“u'0.00'”转换为“0.00”?
我知道我可以使用 Python 的查找和替换功能来做到这一点,但我想尽可能地坚持 BSS4,而不必为一种或另一种形式编写 w check ...