Je suis nouveau sur Python et j'essaie d'écrire du code qui récupère des informations sur un site web. J'ai actuellement:Grattage d'un ascenseur avec Python et BeautifulSoup
from bs4 import BeautifulSoup
import requests
headers = {'User-Agent': 'Mozilla/5.0'}
for i in range(1, 300):
url = "[REMOVED]/footwear?page=%s" % i
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")
items = soup.find_all('div', 'product-block__info')
for item in items:
for val in item.find_all('a','product-block'):
stock = item.find_all('class','count_product_stock hidden')[0].text
brand = item.find_all('div','brand')[0].text
price = item.find_all('span','selling_price')[0].text
print (items)
Qui renvoie l'erreur IndexError: list index out of range
. Si je mets 'product-block__info' à la place de 'product-block', alors je suis capable d'imprimer la liste complète du contenu dans la balise 'product-block__info' sur la page, mais je voudrais juste sélectionner une poignée d'éléments et de les retourner. Est-ce que quelqu'un peut m'expliquer ce qui se passe ici et comment puis-je sélectionner seulement les éléments que je veux dans 'product-block__info'?
L'URL serait utile afin que nous puissions comprendre les noms des classes, etc. – ADug
essayer 'soup.find_all ('div', classe _ = 'produit block__info')' – ADug
Remplacer mon code avec l'ISN ci-dessus » t avoir des changements perceptibles dans les résultats? –