Я написал скрипт на python, чтобы получить цены на товары на сайте, но я нашел проблему. Иногда некоторые товары продаются, из-за этого у них есть 2 цены (оригинальная и фактическая). Мои сценарии получают их все, но я не хочу цены до продажи. Как я могу их исключить? Возможно ли это?
Пример в исходном коде:
Обычная цена
<div class="result-actions"
<span> ==$0
$ 1,98
</span>
В продаже
<div class="result-actions">
<span>
<small class="price-before"> ==$0
$ 56,70
</small>
<span class="price-now">
$ 39,60
</span>
</span>
Мой сценарий
import csv
from urllib.request import urlopen
from bs4 import BeautifulSoup
site = input()
html = urlopen(site)
bs = BeautifulSoup(html, 'html.parser')
pricesList = bs.findAll('div',{'class':'result-actions'})
csvFile = open('Prices.csv', 'wt+')
writer = csv.writer(csvFile)
try:
for prices in pricesList:
print(clean_up_text(prices.get_text()))
csvPrice = []
csvPrice.append(clean_up_text(prices.get_text().strip()))
writer.writerow(csvPrice)
finally:
csvFile.close()
Пожалуйста, помогите мне!
Обновление
Я пытался включить функцию для исключения старых цен, но, похоже, она тоже не сработает.
def excluir_precos_antigos(element):
element = driver.find_element_by_class_name('price-before')
driver.execute_script("""var element =
arguments[0];element.parentNode.removeChild(element);""", element)