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 :

Récupération contenu balise src en html [Python 3.X]


Sujet :

Python

  1. #1
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 2
    Par défaut Récupération contenu balise src en html
    Bonjour,

    Je code en ce moment un script permettant de télécharger en gros des images sur un site.
    Je suis avec une machine sous windows, avec l'ide Sublime Text 3 et python 3.2. Je débute encore en python, j'ai commencé récemment donc mon code ne doit pas être très propre.

    Donc je bloque au moment d'exploiter le code html, je le récupère avec urllib et récupère le morceau que j'ai envie avec BeautifulSoup.
    Le problème est que je ne doit récupérer que l'url de l'image à télécharger (celle la) contenue dans la balise img et l'option src :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img alt="70d2f665cdd568989145aaab16838ae3" data-fav-count="3" data-flags="" data-has-active-children="false" data-has-children="false" data-large-height="600" data-large-width="600" data-original-height="600" data-original-width="600" data-rating="s" data-score="2" data-tags="1girl apron blonde_hair blush braid broom broom_riding fang hat ishimori_sakana kirisame_marisa long_hair open_mouth side_braid sidesaddle star touhou waist_apron witch_hat yellow_eyes" data-uploader="Xelleos" height="600" id="image" src="/data/70d2f665cdd568989145aaab16838ae3.jpg" width="600">
    Or avec beautifulsoup je récupère la balise img entière.
    Donc j'ai pensé à deux choses soit beautifulsoup permet de récupérer le contenu de l'option src et je ne l'ai pas vu. Soit je peux modifier le string contenant la balise img et isoler la balise src.

    Voilà le code que j'utilise :

    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
     
    from bs4 import BeautifulSoup
    import urllib.request, urllib.parse, urllib.error
     
    #Stocker la page web dans une variable
    htmldoc = urllib.request.urlopen("https://danbooru.donmai.us/posts/2063643?tags=touhou") 
    soup = BeautifulSoup(htmldoc, "html.parser")
     
    #Retrouver le nom de la page web
    for title in soup.find_all('title'):
      name = repr(title)  #convertir la variable spéciale en string
      name = name.replace('<title>', '')
      name = name.replace('</title>', '')
      #name = name.replace(' ', '_')
      print(name)
     
    #Récuperer url image
    for urlimg in soup.find_all(id="image"):
      dlurl = repr(urlimg)  #convertir la variable spéciale en string
     
    print(dlurl)
    Je vous demande donc si vous avez une idée de comment je pourrais faire.

    Merci

  2. #2
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 049
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 049
    Par défaut
    Bonjour,

    Voilà une réponse à la question...

  3. #3
    Candidat au Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Mars 2015
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 25
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Lycéen
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2015
    Messages : 2
    Par défaut
    Merci,

    Le lien n'était pas ce que je cherchais mais il m'a redirigé vers quelque chose que je n'avais pas vu.
    Voilà ou j'ai trouvé ma réponse.

    et voilà le code si ça intéresse quelqu'un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    url = 'https://danbooru.donmai.us/posts/2063643?tags=touhou'
    soup = BeautifulSoup(urllib.request.urlopen(url).read(), "html.parser")
    for tag in soup.find_all("img"):
        print(tag['src'])

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 28/02/2014, 09h41
  2. Récupération contenu "document.write" fichier html
    Par franck.choloux dans le forum Général Python
    Réponses: 8
    Dernier message: 19/06/2013, 11h42
  3. Récupération contenu d'une page html
    Par babass77 dans le forum Général Java
    Réponses: 1
    Dernier message: 19/06/2008, 01h06
  4. Récuperer le contenu d'une page html sans les balises.
    Par ilalaina dans le forum Windows Forms
    Réponses: 4
    Dernier message: 09/04/2008, 13h47
  5. Récupérer contenu balises HTML
    Par Sopra dans le forum Windows Forms
    Réponses: 4
    Dernier message: 24/04/2007, 16h45

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