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

Réseau/Web Python Discussion :

Les 128 derniers bits d'un fichier en ligne avec Python ?


Sujet :

Réseau/Web Python

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 35
    Points : 32
    Points
    32
    Par défaut Les 128 derniers bits d'un fichier en ligne avec Python ?
    Je cherche à faire un script qui me permette de lire la fin d'une page Web, sans tout charger.

    Je pense faire ça avec httplib ou urllib2 sous Python. Je voudrais donc pouvoir prendre un morceau de fichier comme on peut le faire en local avec "seek".

    Quelqu'un sait-il comment faire ? Quelle requête HTTP 1.1 par exemple ? Ou via une fonction Python déjà existante ?

    Merci d'avance.

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Points : 127
    Points
    127
    Par défaut
    Voila pour obtenir un descripteur de fichier avec le contenu de la page que tu souhaites

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    import urllib
     
    f = urllib.urlopen&#40;'<adresse url>'&#41;

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 35
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par tomasha
    Voila pour obtenir un descripteur de fichier avec le contenu de la page que tu souhaites

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    import urllib
     
    f = urllib.urlopen&#40;'<adresse url>'&#41;
    Je connais bien urllib mais ça ne permet pas de charger un morceau de fichier.

    Voici une solution, en fait, basée sur HTTP 1.1 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      conn = httplib.HTTPConnection&#40;'apt.bxlug.be'&#41;
      conn.request&#40;'GET', '/librassoc/packages/Packages',
                      None, &#123;'Range'&#58; 'bytes=-500'&#125;&#41;
      response = conn.getresponse&#40;&#41;
      print response.read&#40;&#41;
    Voir l'attribut "Range".

    Au passage, ça ne marche pas avec tous les serveurs.

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Août 2005
    Messages
    142
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 142
    Points : 127
    Points
    127
    Par défaut
    Une fois que tu as tout le fichier tu peux en faire ce que tu veux, au lieu de faire ça directement sur le serveur

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    35
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 35
    Points : 32
    Points
    32
    Par défaut
    Citation Envoyé par tomasha
    Une fois que tu as tout le fichier tu peux en faire ce que tu veux, au lieu de faire ça directement sur le serveur
    Quand tu dois utiliser 128 bits sur un fichier de 3.000.000, tu es bien content de ne charger que les 128 sans devoir charger la totalité du fichier . Et, au passage, le serveur (surtout, son propriétaire) est bien content aussi de ne pas devoir t'envoyer les 3.000.000.

  6. #6
    Membre chevronné
    Avatar de kedare
    Homme Profil pro
    Network Automation Engineer
    Inscrit en
    Juillet 2005
    Messages
    1 548
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Network Automation Engineer

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 548
    Points : 1 860
    Points
    1 860
    Par défaut
    Citation Envoyé par ecocentric
    Citation Envoyé par tomasha
    Une fois que tu as tout le fichier tu peux en faire ce que tu veux, au lieu de faire ça directement sur le serveur
    Quand tu dois utiliser 128 bits sur un fichier de 3.000.000, tu es bien content de ne charger que les 128 sans devoir charger la totalité du fichier . Et, au passage, le serveur (surtout, son propriétaire) est bien content aussi de ne pas devoir t'envoyer les 3.000.000.
    je ne pense pas qu'on puisse car le programme ne peut pas connaitre la taille du fichier sans le telecharger du serveur il me semble ....

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Cela doit etre jouable, regardez votre browser, si vous lancez un téléchargement la plus part du temps il va vous indiquer combien pèse le fichier. Faut regarder en détail les headers échangés entre le serveur et votre browser.

  8. #8
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Points : 923
    Points
    923
    Par défaut
    Habituellement pour les téléchargements il y a:
    Content-length: 1024
    (j'ai mis 1024 comme exemple, c'est la taille en octets du fichier)

Discussions similaires

  1. [Python 2.X] Changer tout les <Pos> et <Size> dans un fichier skin.xml avec Python 2.7
    Par Clicker dans le forum Général Python
    Réponses: 4
    Dernier message: 23/09/2014, 10h48
  2. Réponses: 4
    Dernier message: 19/02/2014, 15h28
  3. Traiter 128 derniers octets d'un fichier
    Par fab56 dans le forum Langage
    Réponses: 4
    Dernier message: 13/02/2010, 19h31
  4. decoupage fichier multi-ligne avec Sed
    Par archivage-services dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 04/02/2010, 18h44
  5. Réponses: 0
    Dernier message: 25/11/2009, 00h29

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