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 :

Comparer et trier des adresses Internet


Sujet :

Réseau/Web Python

  1. #1
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 751
    Points
    1 751
    Par défaut Comparer et trier des adresses Internet
    Bonjour,
    j'ai plein d'adresses Internet récupérées comme cela au gré de mes errances web. Je voudrais les classer afin de repérer celles qui sont d'un même site. Par exemple,
    http://www.developpez.net/forums/f172/autres-langages/python-zope/gui/pyqt/ ,
    http://www.developpez.net/forums/f922/autres-langages/python-zope/image-calcul-scientifique/ et
    http://www.developpez.net/forums/f1155/autres-langages/python-zope/general-python/
    "sont" des pages de
    http://www.developpez.net/.
    Existe-t-il une classe qui permette de repérer cela (histoire de ne pas réinventer la roue) ?

    Toute info. est la bienvenue.

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    271
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Décembre 2006
    Messages : 271
    Points : 329
    Points
    329
    Par défaut
    Regarde le module urllib. Il contient des fonctions commençant par split qui pourront te servir.

  3. #3
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 751
    Points
    1 751
    Par défaut
    Citation Envoyé par tamiel Voir le message
    Regarde le module urllib. Il contient des fonctions commençant par split qui pourront te servir.
    Merci je connais ce module (quand je parlais de réinventer la roue c'était d'utiliser ce module). Je voulais juste savoir si quelqu'un avait déjà vu cela quelque part. En résumé, je cherche une solution toute faite, sinon je me la ferais.

  4. #4
    Membre chevronné

    Profil pro
    Account Manager
    Inscrit en
    Décembre 2006
    Messages
    2 301
    Détails du profil
    Informations personnelles :
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Account Manager

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 301
    Points : 1 751
    Points
    1 751
    Par défaut
    Voilà une piste à explorer.

    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
    40
    41
    42
    43
    #!/usr/bin/env python
    #coding=utf-8
     
    # Ce mini script sert à repérer des adresses URL attachées à un même site en repérant celles qui commencent de la même façon.
    import os
     
    lesLiens =['http://www.developpez.net/forums/f172/autres-langages/python-zope/gui/pyqt/',        'www.rienavoir.com',       'http://www.developpez.net/forums/f922/autres-langages/python-zope/image-calcul-scientifique/','www.developpez.net/forums/f1155/autres-langages/python-zope/general-python/']
     
    # On retire les http:// inutiles et les www. du début. On peut aussi utiliser une liste compréhension.
    for i in range(len(lesLiens)):
        if lesLiens[i].startswith('http://'):
            lesLiens[i]=lesLiens[i][7:]
        if lesLiens[i].startswith('www.'):
            lesLiens[i]=lesLiens[i][4:]
     
    groupeLiens=[]
    i=0
    while i<len(lesLiens):
        groupeLiens.append([lesLiens[i], lesLiens[i]])
    # La 1ère chaîne contient la plus grande séquence en commun et la seconde le 1ere lien qui commence par cette séquence.
    # Ici on tombe sur un nouveau groupe.
     
    # On teste les adresses qui suivent car celles apparues avant ont déjà été traitées.
        j=i+1
        while j < len(lesLiens):
    # On utilise le module os qui va faire le travail à notre place.
    # Petite astuce trouvée en lisant "Text Processing In Python" de David Mertz.
            test=os.path.commonprefix([groupeLiens[i][0],lesLiens[j]])
            if test!='':
                groupeLiens[i][0]=test
                groupeLiens[i].append(lesLiens[j])
                lesLiens.pop(j)
            else:
                j+=1
     
        i+=1
     
    # Affichons le résultat
    for i in range(len(groupeLiens)):
        print '\n' + '-'*20 + '\n'
        print groupeLiens[i][0]
        for j in range(1, len(groupeLiens[i])):
            print '\n\t' + groupeLiens[i][j]
    C'est à améliorer un peu comme le montre l'exemple du script qui renvoie :
    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
    --------------------
     
    developpez.net/forums/f
     
    	developpez.net/forums/f172/autres-langages/python-zope/gui/pyqt/
     
    	developpez.net/forums/f922/autres-langages/python-zope/image-calcul-scientifique/
     
    	developpez.net/forums/f1155/autres-langages/python-zope/general-python/
     
    --------------------
     
    rienavoir.com
     
    	rienavoir.com

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

Discussions similaires

  1. Trier Des Adresses IP Par Port ?
    Par benymypony dans le forum Débuter
    Réponses: 9
    Dernier message: 21/07/2011, 00h05
  2. Trier des adresses e-mail
    Par Aloneghost dans le forum Langage
    Réponses: 1
    Dernier message: 03/09/2010, 01h44
  3. Trier des adresses IP
    Par blacksnake dans le forum Programmation et administration système
    Réponses: 4
    Dernier message: 16/06/2007, 12h54
  4. Trier des objets sans Comparable
    Par Shabata dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 13/03/2006, 14h55

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