目的の価格値を取得するには、複数の方法があります。
CSS セレクターを使用して、各div
hasproduct-price
クラスの最初の子を取得できます。
for price in soup.select("div.product-price > div:nth-of-type(1)"):
print price.get_text(strip=True)
これは次のように表示されます。
Rs 33490Rs 42990(22%)
Rs 26799Rs 31500(15%)
...
Rs 41790Rs 44990(7%)
Rs 48000Rs 50000(4%)
nth-of-type
ドキュメント参照。
実際の価格とともに、取り消し線フォントにある以前の価格が含まれていることに注意してください。それを取り除くには、withとdiv
を使用して から最上位のテキストのみを取得します。find()
text=True
recursive=False
for price in soup.select("div.product-price > div:nth-of-type(1)"):
print price.find(text=True, recursive=False).strip()
版画:
Rs 33490
Rs 26799
...
Rs 41790
Rs 48000
さらに進んで、先頭の を省略しRs
、int (または float) の価格値を取得できます。
for div in soup.select("div.product-price > div:nth-of-type(1)"):
price = div.find(text=True, recursive=False).strip()
price = float(price.replace("Rs ", ""))
print price
版画:
33490.0
26799.0
...
41790.0
48000.0