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 :

recupérer arborescence et contenu d'un site


Sujet :

Réseau/Web Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 29
    Par défaut recupérer arborescence et contenu d'un site
    salut à tous,

    Je dois récupérer le contenu html d'un site web à partir de l'url en python, pour faire ça, j'ai pensé à d'abord récupérer l'arborescence du site, puis faire une boucle afin de récupérer le contenu html à partir des liens, mais en python , je ne sais pas comment le faire .

    merci d'avance

  2. #2
    Membre Expert Avatar de pacificator
    Profil pro
    Inscrit en
    Août 2006
    Messages
    1 074
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 074
    Par défaut
    Dans le principe il suffit de récuperer la page web puis d'extraire (regex?) et d'analyser (lien interne, externe) les liens hypertextes contenus dans la page puis de les télecharger et de recommencer ...

    Mais ce que tu veux existe déjà, c'est un aspirateur de site et tu trouveras facilement ça sur

  3. #3
    Membre averti
    Inscrit en
    Mai 2009
    Messages
    29
    Détails du profil
    Informations forums :
    Inscription : Mai 2009
    Messages : 29
    Par défaut
    je c'est que les aspirateurs de site existent, mais moi je dois réaliser ça en python, et pour récupérer l'arborescence à partir d'un lien, je ne vois pas comme faire ça.

  4. #4
    Membre Expert
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    1 418
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 418
    Par défaut
    Salut,

    Ton objectif n’est pas assez bien défini pour qu’on sache comment t’aider.

    S’agit-il:

    - de ne s’intéresser qu’à un seul site, et d’écrire un code qui sera capable de récupérer les contenus de toutes les pages du site, en suivant tous les liens trouvés dans chaque page ?
    Un tel objectif pourrait être motivé par le fait que récupérer à la main les contenus serait trop long, ou que des mises à jour fréquentes rendrait vite fastidieuse l’acquisition des contenus nouveaux.


    - ou de concevoir un programme général apte à capturer le contenu de n’importe quel site, c’est à dire capable de s’adapter à toutes les particularités d’un site inconnu a priori ?
    Autrement dit, c’est vouloir faire un aspirateur de site.


    Il est clair que le premier objectif semble plus facilement atteignable parce qu’on pourrait se permettre des facilités du fait que la structure du site serait plus stable que la structure non préalablement connue de n’importe quel site.







    Personnellement, avec une adresse URL, la seule première chose que je sache faire est la suivante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    import urllib
     
    url = 'http://fr.wikipedia.org/wiki/Max_Peck'
    sock = urlib.urlopen(url)
    ch = sock.read()
    sock.close()
    Une fois le code-source de la page enregistré dans la chaîne ch, je peux lancer tous les traitements que je veux.

    - Pour ma part, je sais exactement ce que je veux dans les pages que je capte et je ne recherche pas des liens. J’exploite chaque code-source en l’analysant avec des regex et des méthodes de string. Je ne connais donc pas très bien les parsers.

    - Mais pour ce qui te concerne, si tu veux d’abord établir l’arborescence du site, il te faut traiter les pages avec un parser, en commençant par la première.
    Beautiful Soup est un parser de code HTML qui devrait te permettre de faire ce préalable.
    C’est à dire qu’une fois le code-source d’une page mis dans une chaîne ch, tu donnes ch en patûre au parser et tu le règles pour qu’il te sorte tous les liens dans la pge. Ça devrait marcher comme ça si j’ai bien compris à quoi sert un parser.

Discussions similaires

  1. [jTree]Recupérer l'objet contenu dans la feuille
    Par Invité dans le forum Composants
    Réponses: 1
    Dernier message: 27/11/2006, 15h03
  2. Réponses: 2
    Dernier message: 02/11/2006, 10h00
  3. Réponses: 4
    Dernier message: 23/07/2006, 20h42
  4. Propriété et contenu d'un site web perso ?
    Par elitost dans le forum Juridique
    Réponses: 18
    Dernier message: 20/06/2006, 13h56
  5. Arborescence des sujets sur ce site
    Par Invité dans le forum Evolutions du club
    Réponses: 2
    Dernier message: 10/11/2004, 18h32

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