Partage
  • Partager sur Facebook
  • Partager sur Twitter

Télécharger un .zip sur une page html

Sujet résolu
    16 mai 2013 à 10:27:13

    Salut je voudrais récupérer des sous-titres d'un site après de multiples recherches j'ai trouvé un script python assez intéressant.

    Script qui fonctionne pas au dessus de 3.0 (jecrois) j'utilise la version 2.7.4

    Voici le code :

    #!/usr/bin/env python
    import urllib,re,os
    
    _in = raw_input('< Press enter to download images from first page >')
     
    if not os.path.exists('sous-titres'):
            os.mkdir('sous-titres')
     
    source = urllib.urlopen('http://www.u-sub.net/').read()
    
    imgs = re.findall('class\=\"release\".*?src=\'(.*?)\"\title',source)
    
    for img in imgs:
            filename = 'sous-titres/'+ img.split('/')[-1]
            if not os.path.exists(filename):
                    urllib.urlretrieve(img,filename)
    

    Je comprend tout sauf le passage source = re.findall( ?????, source) c'est moi qui est repris le code de quelqu'un en essayant de le modifier mais je n'arrive pas à l'utiliser.

    J'ai fais de multiples test, mais impossible de récupérer quelque chose dans imgs.

    Le but c'est de recup les points zip tel que : http://www.u-sub.net/subtitles/7658/The.Big.Bang.Theory.6x23.FR.GIGGITY.zip

    présent dans le html de la page web et donc d'avoir tous les .zip dans un dossier.

    Voici la video du mec sur lequel je me suis appuyer : http://www.youtube.com/watch?v=DWFxD9i7Nxo&list=UUiL1biHg2lVfHbLA5yVZTiQ&index=5

    Si vous pouviez m'aider, je vous en remercie. 



    -
    Edité par Beardie 16 mai 2013 à 10:30:55

    • Partager sur Facebook
    • Partager sur Twitter
      16 mai 2013 à 11:15:20

      C'est ta regex qui coince. Essaies ca:

      #! /usr/bin/env python

      import urllib
      import re
      import os

      _in = raw_input('< Press enter to download images from first page >')

      if not os.path.exists('sous-titres'):
      os.mkdir('sous-titres')

      source = urllib.urlopen('http://www.u-sub.net/').read().decode('utf-8')

      imgs = re.findall(r'href=\"(http[^<>]*?zip)\"', source)

      for img in imgs:
      filename = 'sous-titres/' + img.split('/')[-1]
      if not os.path.exists(filename):
      urllib.urlretrieve(img, filename)

      Ca marche chez moi, sous Python 2.6.6.

      PS: J'ai vraiment bricole la regex, il est fortement probable qu'elle soit a modifier.

      -
      Edité par stackOverflow 16 mai 2013 à 15:03:01

      • Partager sur Facebook
      • Partager sur Twitter
        16 mai 2013 à 14:13:31

        Salut alors ca marche, merci bcp ! Tu peux m'expliquer comment ca marche le re.findall ? :)
        • Partager sur Facebook
        • Partager sur Twitter
          16 mai 2013 à 14:58:00

          En gros, le but re.findall est de trouver tous les zips dans la page html.

          Pour plus de precision: la doc.

          PS: Si tu as trouve la solution a ton probleme, penses a mettre le sujet en resolu ;).

          -
          Edité par stackOverflow 16 mai 2013 à 15:00:56

          • Partager sur Facebook
          • Partager sur Twitter

          Télécharger un .zip sur une page html

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown