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 :

Comment faire pour aficher que les url's concetenant l'extension .html ?


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Inscrit en
    Mai 2012
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 5
    Par défaut Comment faire pour aficher que les url's concetenant l'extension .html ?
    Bonjour à Tous,

    Pouvez vous m'aider à lister qee les url's contenant l'extension .html ?
    J'ai essaye de modifier le code, mais il y a des erreurs.
    Mercid

    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
    #!/usr/bin/env python
     
    import requests
    from BeautifulSoup import BeautifulSoup
     
    url = "https://www.jumia.tn"
    response = requests.get(url)
    # parse html
    page = str(BeautifulSoup(response.content))
     
     
    def getURL(page):
        """
     
        :param page: html of web page (here: Python home page) 
        :return: urls in that page 
        """
        start_link = page.find("a href")
        if start_link == -1:
            return None, 0
        start_quote = page.find('"', start_link)
        end_quote = page.find('"', start_quote + 1)
        url = page[start_quote + 1: end_quote]
     
    if 'html' in url: 
       print url
     
    #return url, end_quote
     
    while True:
        url, n = getURL(page)
        page = page[n:]
        if url:
            print url
        else:
            break

  2. #2
    Membre très actif

    Homme Profil pro
    Bidouilleur
    Inscrit en
    Avril 2016
    Messages
    721
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Bidouilleur

    Informations forums :
    Inscription : Avril 2016
    Messages : 721
    Billets dans le blog
    1
    Par défaut
    Salut.

    Tout code posté doit être inséré entre les balises codes du forum bouton [#].

    Pour déterminer qu'une chaine se termine par html, en python, c'est simple.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    >>> url = 'http://unsite.com/page.html'
    >>> url.endswith('.html')
    True
    >>> # Ou encore
    ... 
    >>> url[-5:] == '.html'
    True
    Mais là, faudrait plutôt s'appuyer sur requests.urllib3.util.url.parse_url (urllib.parse_url) afin d'obtenir le bon path.

    Mais à l'heure où les extensions de page sont soit inexistantes ou celles avec une autre extension, par exemple, ce forum est en .php et génère bien du html, il vaudrait mieux s'appuyer sur le content-type plutôt que sur l'extension.

  3. #3
    Membre à l'essai
    Inscrit en
    Mai 2012
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Mai 2012
    Messages : 5
    Par défaut
    Merci pour ton retour!
    En fait, je débute avec python en essayant ton code ça ne marche pas?
    Faut-il ajouter quelque chose ?
    Merci d'avance...

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 754
    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 754
    Par défaut
    Salut,

    Citation Envoyé par linda deb Voir le message
    En fait, je débute avec python en essayant ton code ça ne marche pas?
    Faut-il ajouter quelque chose ?
    Si vous débutez autant utiliser Python 3.

    Après relisez votre code: est-ce que getURL vous retourne les URL trouvées dans la page?
    Si ce n'est pas le cas, trier celle qui se terminent par... est prématuré.

    Se poser des questions aussi sur le code qu'on écrit pour voir s'il fait ce qu'on en attend et s'être un peu approprié des méthodes à utiliser pour y répondre est ce qui fait la différence entre le complet débutant et celui qui a pris le temps d'apprendre avec un tuto.
    Celui là a fait les exos, ce qui lui a permis de se frotter aux différents messages d'erreurs remontées par Python, de comprendre la logique des constructions de base et de se familiariser avec string, liste, nombres,... fonctions, portées des variables,...

    Internet est un bien commun, pas une aire de jeu: si vous voulez apprendre à programmer, ouvrez un tuto.

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

  5. #5
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 064
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 064
    Par défaut
    Pour information, 2ème page de ma recherche Google : ICI

Discussions similaires

  1. Réponses: 4
    Dernier message: 27/05/2015, 17h27
  2. Réponses: 2
    Dernier message: 07/02/2011, 20h16
  3. comment faire pour supprimer tous les enregistrements d'une table
    Par sehing7 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 14/04/2009, 14h13
  4. Réponses: 4
    Dernier message: 29/03/2007, 19h39
  5. Réponses: 11
    Dernier message: 19/11/2006, 12h45

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