私は python/BS4 でいくつかの製品ページを読んでいて、コードの 1 行で興味深い多様性、つまりアイテムの価格を見つけました。
場合によっては、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 の find & replace 関数を使用してこれを実行できることはわかっていますが、いずれかのフォームに対して w check を記述することなく、可能な限り BSS4 に固執したいと思います...