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 :

Beautifoul soup et modif code + html


Sujet :

Python

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    323
    Détails du profil
    Informations personnelles :
    Localisation : Espagne

    Informations forums :
    Inscription : Juillet 2003
    Messages : 323
    Points : 112
    Points
    112
    Par défaut Beautifoul soup et modif code + html
    Bonjour,

    J'essai de modifier un code sous python.
    Le code original contient :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    with BS4Parser(data, 'html5lib') as html:
    zip_rows = html(class_=re.compile('ligne[01]'))
    for result in zip_rows:
    try:
    title = result.find(class_="titre").get_text(strip=True).replace("DOC")
    title = re.sub(r' Fichier', ' File', title, flags=re.I)
    tmp = result.find("a")['href'].split('/')[-1].replace('.html', '.zip').strip()
    download_url = (self.url + '/telechargement/{0}'.format(tmp))
    if not all([title, download_url]):
    continue
    Et le HTML est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <div id="infosficher">
    <div id="titre">Informations du fichier</div>
    Poids du fichier: <span style="font-weight:600;">541.4 Mo</span><br/>
    Seeds : <span style="font-weight:600;"><span class="file_ok">7</span></span><br/>
    Leechs : <span style="font-weight:600;">50</span><br/>
    <b><a href="http://www.monsite.com/comment-telecharger.php">Comment télécharger ?</a></b>
    <a href="/telechargement/test.doc" id="telecharger"><img src="http://www.monsite.com/_template/reloaded/_styles/_images/telecharger.gif" width="385" height="70"/></a>
    </div>
    Maintenant le site a changer et je dois le modifier par contre je sais pas comment modifier le fichier. J'ai essayer ceci.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    with BS4Parser(data, 'html5lib') as html:
    zip_rows = html(class_=re.compile('ligne[01]'))
    for result in zip_rows:
    try:
    title = result.find(class_="description_zip").get_text(strip=True).replace("DOC")
    title = re.sub(r' Fichier', ' File', title, flags=re.I)
    tmp = result.find("a")['href'].split('/')[-1].replace('.html', '.zip').strip()
    download_url = (self.url + '/get_zip/{0}'.format(tmp))
    if not all([title, download_url]):
    continue
    Le HTML est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <div class="col-sm-6" style="margin-bottom:20px">
    <div class="download-btn">
    <a class="btn btn-danger download" href="/get_file/test.doc"><i
    class="fa fa-download"></i> Télécharger le Document
    </a>
    </div>
    </div>
    Donc mon probleme est comment recuperer le fichier..........
    Dans le premier cas j'avais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tmp = result.find("a")['href'].split('/')[-1].replace('.html', '.zip').strip()
    pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="/telechargement/test.doc" id="telecharger"><img src="http://www.monsite.com/_template/reloaded/_styles/_images/telecharger.gif" width="385" height="70"/></a>
    Maintenant j'essaie de modifier :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tmp = result.find("a")['href'].split('/')[-1].replace('.html', '.zip').strip()
    pour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a class="btn btn-danger download" href="/get_file/test.doc"><i class="fa fa-download"></i> Télécharger le Document </a>
    Donc comment lui dire de prendr href entre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a class="btn btn-danger download"
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <i class="fa fa-download"></i>
    Merci d'avance

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par superthx Voir le message
    Donc comment lui dire de prendr href entre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    a class="btn btn-danger download"
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <i class="fa fa-download"></i>
    Si vous n'avez pas écrit ce code, pas facile de savoir que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    result.find("a")['href'].split('/')[-1].replace('.html', '.zip').strip()
    récupère déjà la valeur de l'attribut "href" dans le premier tag "a" qu'il trouve.
    Si on le sait pas, pas facile de l'inventer, c'est tout l'intérêt d'essayer de lire/comprendre la documentation de BeautifulSoup.

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

Discussions similaires

  1. [Python 3.X] Beautifoul soup et code généré
    Par HelloThury dans le forum Général Python
    Réponses: 2
    Dernier message: 21/09/2015, 13h18
  2. Modifier code HTML et enregistrer modification
    Par Nanais19 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 10/07/2011, 11h09
  3. Une aide sur la modification d'un code HTML/CSS d'un blog
    Par nanas dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 02/08/2007, 14h04
  4. Modification dynamique de code html
    Par xtendance dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/10/2006, 11h55
  5. modification dynamique code html
    Par xtendance dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 10/10/2006, 11h09

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