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 :

Nom : erreur.jpg
Affichages : 229
Taille : 172,4 Ko

code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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()