1 pièce(s) jointe(s)
Traceback (most recent call last) ?
Bonjour,
Je reçois un message d'erreur et il ne boucle que sur les 4 premiers articles alors qu'il y en a beaucoup plus sur 39 pages, quand je fais un print(i) il affiche bien mais 39 urls.
Je ne sais pas si c'est cause du html.parser ?
Message d'erreur :
Pièce jointe 636953
code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
|
import re
import requests
from bs4 import BeautifulSoup
def get_all_pages():
urls = []
page_number = 1
for i in range(39):
i = f"https://zalando.com/collections/bonnes-affaires?page={page_number}"
page_number += 1
urls.append(i)
return urls
def parse_bonnesaffaires():
r = requests.get("https://zalando.com/collections/bonnes-affaires?page=1")
soup = BeautifulSoup(r.content, "html.parser")
articles = soup.find_all('div', class_='w-full')
for article in articles:
nom = article.find('h3').text.strip()
prixtotal = article.find('span', class_='money').text.strip()
prixnormal = article.find(
'span', class_='Price Price--compare-at tw-line-through').span.text.strip()
pourcentage = article.find(
'span', class_='Price Price--percent').text.strip()
print(prixnormal)
parse_bonnesaffaires() |