【发布时间】:2021-03-25 23:36:35
【问题描述】:
我正在尝试抓取具有两种价格类型的网站,正常价格和折扣价格。
正常价格 HTML:
<p class="plp__price__325EX">
<span aria-label="$29.99">$29.99</span>
</p>
HTML 折扣价:
<p class="plp__price__325EX plp__salePrice__2ExZ2 plp__price__325EX">
$11.99 // trying to get this price
<span class="plp__priceStrikeThrough__2MAlQ plp__price__325EX">$15.99</span>
</p>
正常价格代码:
try:
normal_price_element = item.find('p', {'class', 'plp__price__325EX'})
normal_price = normal_price_element.find('span').text
except:
normal_price = ''
折扣价代码:
try:
disc_price = item.find('p', {'class', 'plp__salePrice__2ExZ2'}).text
except:
disc_price = ''
这些代码 sn-ps 之间的唯一区别是类名。问题是p 类中的跨度包含plp__price__325EX,因此正常价格代码将在不应该运行时运行,并获得正常价格而不是折扣价。
【问题讨论】:
标签: python beautifulsoup