IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Traceback (most recent call last) ?


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Consultant Marketing
    Inscrit en
    Mars 2016
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Marketing
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2016
    Messages : 293
    Par défaut 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 :

    Nom : erreur.jpg
Affichages : 227
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()

  2. #2
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    bonjour

    Toujours merci pour cette belle copie écran qui ne sert toujours à rien

    J'espère que tu demandes parce qu'il est très tard chez toi ! Il faut impérativement apprendre à lire les messages d'erreurs.
    Puisque la réponse est dans le message, je te laisse lire.

    Ps: pourquoi te répondre si tu ne lis pas les réponses J'avais déjà anticipé ton problème, mais tu n'en as pas tenu compte

  3. #3
    Membre très actif
    Homme Profil pro
    Consultant Marketing
    Inscrit en
    Mars 2016
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Marketing
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2016
    Messages : 293
    Par défaut
    Citation Envoyé par papajoker Voir le message
    bonjour

    Toujours merci pour cette belle copie écran qui ne sert toujours à rien

    J'espère que tu demandes parce qu'il est très tard chez toi ! Il faut impérativement apprendre à lire les messages d'erreurs.
    Puisque la réponse est dans le message, je te laisse lire.

    Ps: pourquoi te répondre si tu ne lis pas les réponses J'avais déjà anticipé ton problème, mais tu n'en as pas tenu compte
    Bonjour,

    J'ai retirer .text.strip() et tout fonctionne parfaitement je reçois bien ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <span class="Price Price--compare-at tw-line-through"><span class="money">34,95€</span></span>
    Je voudrais afficher juste le prix sans les balises donc je fais un .text.strip() qui ne fonctionne pas il m'affiche que les 4 premiers résultat avec le msg d'erreur : " Traceback (most recent call last)

    Comment récupérer juste les valeurs ?

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 830
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 830
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par cdevl37 Voir le message
    Je voudrais afficher juste le prix sans les balises donc je fais un .text.strip() qui ne fonctionne pas
    str.strip() fonctionne parfaitement. Mais son but n'est pas de supprimer les balises.

    Citation Envoyé par cdevl37 Voir le message
    il m'affiche que les 4 premiers résultat avec le msg d'erreur : " Traceback (most recent call last)
    papajoker avait déjà anticipé ce problème. Il t'avait dit comment t'en prévenir. Le message d'erreur te dit pourquoi la méthode strip() ne peut pas s'appliquer dans ce cas particulier. Tu attends quoi de nous?
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre très actif
    Homme Profil pro
    Consultant Marketing
    Inscrit en
    Mars 2016
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Marketing
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2016
    Messages : 293
    Par défaut
    Citation Envoyé par Sve@r Voir le message
    Bonjour

    str.strip() fonctionne parfaitement. Mais son but n'est pas de supprimer les balises.


    papajoker avait déjà anticipé ce problème. Il t'avait dit comment t'en prévenir. Le message d'erreur te dit pourquoi la méthode strip() ne peut pas s'appliquer dans ce cas particulier. Tu attends quoi de nous?
    je voudrais juste savoir comment récupérer la valeur 34,95 sans le reste <span class="Price Price--compare-at tw-line-through"><span class="money">34,95€</span></span>

  6. #6
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 830
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 830
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par cdevl37 Voir le message
    je voudrais juste savoir comment récupérer la valeur 34,95 sans le reste <span class="Price Price--compare-at tw-line-through"><span class="money">34,95€</span></span>
    Hé ben tu utilises tes connaissances de développeur informatique que tu es en matière de boucles, de conditionnelles, de traitement de strings pour supprimer ce qui dépasse.
    Tu peux aussi aller voir du côté de re et plus particulièrement re.sub().
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  7. #7
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 738
    Par défaut
    Citation Envoyé par cdevl37 Voir le message
    Je voudrais afficher juste le prix sans les balises donc je fais un .text.strip() qui ne fonctionne pas il m'affiche que les 4 premiers résultat avec le msg d'erreur : " Traceback (most recent call last)

    Comment récupérer juste les valeurs ?
    Python vous dit qu'il n'a rien récupéré (d'où le None) sinon .text.strip() fonctionnerait.

    Et comme je ne peux pas apprendre à programmer à votre place, je ne vous proposerai pas de solution: vous la trouveriez tout seul si vous aviez pris le temps d'apprendre avant de vouloir obtenir des résultats.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  8. #8
    Membre très actif
    Homme Profil pro
    Consultant Marketing
    Inscrit en
    Mars 2016
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Marketing
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2016
    Messages : 293
    Par défaut
    Citation Envoyé par wiztricks Voir le message
    Python vous dit qu'il n'a rien récupéré (d'où le None) sinon .text.strip() fonctionnerait.

    Et comme je ne peux pas apprendre à programmer à votre place, je ne vous proposerai pas de solution: vous la trouveriez tout seul si vous aviez pris le temps d'apprendre avant de vouloir obtenir des résultats.

    - W
    sans le .text.strip() tout fonctionne très bien je ne comprend pas.

  9. #9
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 830
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 830
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par cdevl37 Voir le message
    sans le .text.strip() tout fonctionne très bien
    Ben voilà, tu as ta solution: tu ne demandes pas de .text.strip() et tout fonctionne très bien.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  10. #10
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 738
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 738
    Par défaut
    Citation Envoyé par cdevl37 Voir le message
    sans le .text.strip() tout fonctionne très bien je ne comprend pas.
    "ça ne plante pas" est différent de "ça fonctionne très bien"...

    Si vous vouliez vous donner les moyens de comprendre, vous auriez passé beaucoup plus de temps à apprendre les bases.

    A défaut, tout devient compliqué et vous ne maîtrisez même pas le vocabulaire permettant de décrire la situation en français. Et si vous n'arrivez pas à "concevoir", impossible de trouver comment s'en sortir.

    Avec un métier manuel, vous avez de la matière et des outils qui permettent de la transformer plus ou moins efficacement mais on voir ce qu'on fait. Avec la programmation, il n'y a que des concepts abstraits: on ne voit rien mais on a appris à penser avec (ou pas).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  11. #11
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    Citation Envoyé par cdevl37 Voir le message
    J'ai retirer .text.strip() et tout fonctionne parfaitement je reçois bien ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <span class="Price Price--compare-at tw-line-through"><span class="money">34,95€</span></span>
    C'est du grand n'importe quoi !

    Je t'ai demandé de lire l'erreur et tu ne l'as toujours pas fait ! Changer du code au hasard n'est certainement pas une méthode logique

    Puisque tu nous as fait une copie écran, JE NE PEUX PAS RECOPIER L'ERREUR (en particulier la ligne qui plante), en tout cas elle n'a rien à jour avec tes essais.

    Pour l'image, tu fais :

    maison().salle_a_manger().canapé()

    Et il ne te vient même pas à l'esprit que quelques fois, il n'y a pas de salle à manger dans une maison (que tu vires canapé ou non, ne change rien)

  12. #12
    Membre très actif
    Homme Profil pro
    Consultant Marketing
    Inscrit en
    Mars 2016
    Messages
    293
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : Consultant Marketing
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Mars 2016
    Messages : 293
    Par défaut
    Citation Envoyé par papajoker Voir le message
    C'est du grand n'importe quoi !

    Je t'ai demandé de lire l'erreur et tu ne l'as toujours pas fait ! Changer du code au hasard n'est certainement pas une méthode logique

    Puisque tu nous as fait une copie écran, JE NE PEUX PAS RECOPIER L'ERREUR (en particulier la ligne qui plante), en tout cas elle n'a rien à jour avec tes essais.

    Pour l'image, tu fais :

    maison().salle_a_manger().canapé()

    Et il ne te vient même pas à l'esprit que quelques fois, il n'y a pas de salle à manger dans une maison (que tu vires canapé ou non, ne change rien)
    du n'importe quoi sur un autre forum j'ai eu ma réponse et en un poste et la au moins il sont professionnel et sympa dans leurs réponse alors que ici comme beaucoup d'autre de se forum se plaigne de votre arrogance et de vos réponse déplacée.

  13. #13
    Expert confirmé Avatar de papajoker
    Homme Profil pro
    Développeur Web
    Inscrit en
    Septembre 2013
    Messages
    2 323
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nièvre (Bourgogne)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 2 323
    Par défaut
    Citation Envoyé par cdevl37 Voir le message
    autre forum j'ai eu ma réponse et en un poste
    Mais je te l'ai donnée au premier message, simplement tu ne sais pas lire (ou cliquer sur mon lien) et donc, dans ce cas, je ne peux rien pour toi
    le but de ce forum est que tu puisses te débrouiller seul, malheureusement, toi tu attends simplement que l'on te prenne la main à chaque contrariété.
    ps: umfred est trop gentil

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. How to get the most recent file in a folder in Hadoop
    Par yimson dans le forum Big Data
    Réponses: 0
    Dernier message: 02/02/2015, 17h44
  2. Réponses: 4
    Dernier message: 30/09/2004, 13h55
  3. recuperer last oid
    Par mitsein dans le forum PostgreSQL
    Réponses: 2
    Dernier message: 02/06/2004, 22h12
  4. [TP]Différences Far call <-> Near Call
    Par denokan dans le forum Turbo Pascal
    Réponses: 4
    Dernier message: 02/12/2003, 10h01
  5. [BASM] Comment faire un "Far Call" ?
    Par - Robby - dans le forum Langage
    Réponses: 3
    Dernier message: 03/09/2003, 08h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo