Проблема, с которой я столкнулся, заключается в том, что парсер включает продукты, перечисленные в разделе «Результаты, соответствующие меньшему количеству слов», которые не имеют отношения к моему анализу. Я попытался остановить обработку, когда парсер обнаружил этот селектор, но в результате вместо этого извлекаются значения #N/A.
Можете ли вы помочь отредактировать это для использования в Python?
Код: Выделить всё
def fetch_ebay_average_price(ebay_search_url):
""" Fetch the average sold price and count of sold listings from eBay sold listings page. """
try:
service = Service(CHROME_DRIVER_PATH)
driver = webdriver.Chrome(service=service, options=chrome_options)
driver.get(ebay_search_url)
time.sleep(3)
soup = BeautifulSoup(driver.page_source, 'html.parser')
price_elements = soup.select('span.s-item__price')
prices = []
for price_element in price_elements:
try:
price_text = price_element.text.strip()
price_value = float(re.sub(r'[£,$,€]', '', price_text.split()[0].replace(',', '')))
prices.append(price_value)
except Exception as e:
print(f"Error processing price: {e}")
continue
driver.quit()
if prices:
average_price = round(statistics.mean(prices), 2)
sold_count = len(prices)
return f"£{average_price}", sold_count
else:
return "N/A", 0
except Exception as e:
print(f"Error fetching eBay average price: {e}")
return "N/A", 0
https://www.lego.com/en-gb/product/stable-of-dream -существа-71459
https://www.ebay.co.uk/sch/i.html?_nkw= ... Complete=1
Когда я просматривал страницу ebay, я сосредоточился на следующем элементе:
элемент srp-river-answer--REWRITE_START" при проверке страницы ebay
Подробнее здесь: https://stackoverflow.com/questions/792 ... ewer-words