Передача аргумента в метод soup.find()

Использую bs4, Python, пытаюсь спарсить из интернет магазина определенные данные, но есть проблема: надо передать в функцию find() аргумент, который должен содержать в названии "-", но синтаксис Python этого не позволяет. Что можно сделать, чтобы не было ошибки синтаксиса?

код:

import requests
from bs4 import BeautifulSoup
    
url = 'https://www.eldorado.ru/c/kvadrokoptery/'
h = {'user-agent': 'my-app/0.0.3'}
   
response = requests.get(url, headers=h)
    
soup = BeautifulSoup(response.text, 'lxml')
data = soup.find('div', dataindex='003468') # надо data-index

Ответы (2 шт):

Автор решения: Andrew Hobbit
data = soup.find('div', attrs={'data-index': '003468'})

Универсальный способ, атрибуты могут быть любые.

→ Ссылка
Автор решения: Namerek

На правах варианта

import requests
from bs4 import BeautifulSoup
    
# url = 'https://www.eldorado.ru/c/kvadrokoptery/'
# h = {'user-agent': 'my-app/0.0.3'}
#    
# response = requests.get(url, headers=h)

text = """<!DOCTYPE html><html lang="en"><head></head><body><div data-index="003468">Find me</div><div data-index="003469">Find me to</div></body></html>"""
    
soup = BeautifulSoup(text, 'lxml')
data = soup.select_one('div[data-index="003468"]') # надо data-index
print(data)

<div data-index="003468">Find me</div>

Почитайте про soup sieve и селекторы.

P.S. Что-то берут меня сомнения, что Вы таким образом распарсите сайт по ссылке. Там как минимум selenium нужен

→ Ссылка