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 :

Liste avec HTML


Sujet :

Réseau/Web Python

  1. #1
    Futur Membre du Club
    Femme Profil pro
    doctorante
    Inscrit en
    Juillet 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : doctorante

    Informations forums :
    Inscription : Juillet 2015
    Messages : 3
    Par défaut Liste avec HTML
    Bonjour à tous,

    Je suis toute nouvelle sur ce forum et je viens de débuter avec python, donc je m'excuse si le sujet n'est pas au bon endroit et/ou mal formulé.

    Pour mon travail, je cherche à récupérer les informations d'identité de plusieurs firmes présentes sur le site société.com, dont j'ai les urls. Je crée donc une liste avec les urls correspondant aux firmes dont j'ai besoin, et je demande à python d'appliquer le code pour récupérer les données que je veux pour chaque firme. Le problème, c'est qu'en utilisant une liste , python ne récupère que les données pour le dernier lien internet.
    Mon code est le suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    from bs4 import BeautifulSoup
    import urllib
    liste = ['http://www.societe.com/societe/air-liquide-france-industrie-314119504.html', 'http://www.societe.com/societe/imprimerie-nationale-352973622.html', 'http://www.societe.com/societe/sarl-ambulances-d-evian-338819428.html']
    for i in liste:
         print (i)
         html_file = urllib.request.urlopen(i)
         soup = BeautifulSoup(html_file)
         tables = soup.findAll('table')
    for money in tables[0].findAll('tr'):
       tds=money.findAll('td')
       print (tds[0].string, '=>', tds[1].string)
    [

    et python me donne le résultat qui suit (correspondant à SARL dambulance d'evian, soit le dernier lien):

    http://www.societe.com/societe/air-l...314119504.html
    http://www.societe.com/societe/impri...352973622.html
    http://www.societe.com/societe/sarl-...338819428.html
    Dénomination => AMBULANCES D'EVIAN
    Adresse => None
    Téléphone => None
    SIREN => 338819428
    SIRET (siege) => 33881942800016
    N° de TVA Intracommunautaire => None
    Activité (Code NAF ou APE) => Ambulances (8690A)
    Forme juridique => Société à responsabilité limitée
    Date immatriculation RCS => None
    Date de dernière mise à jour => None
    Tranche d'effectif => 6 à 9 salariés
    Capital social => 8384,70 EURO
    Chiffre d'affaires 2014 => 570800,00 EU


    Connaitriez-vous un moyen pour que python applique le code du programme pour l'ensemble des liens de la liste? Cela devrait par exemple donner quelque chose comme


    http://www.societe.com/societe/air-l...314119504.html
    http://www.societe.com/societe/impri...352973622.html
    http://www.societe.com/societe/sarl-...338819428.html
    Dénomination => AIR LIQUIDE FRANCE INDUSTRIE
    Adresse => None
    Téléphone => None
    SIREN => 314119504
    SIRET (siege) => 31411950400012
    N° de TVA Intracommunautaire => None
    Activité (Code NAF ou APE) => Fabrication de gaz industriels (2011Z)
    Forme juridique => SA à conseil d'administration
    Date immatriculation RCS => None
    Date de dernière mise à jour => None
    Effectif moyen => 2453
    Capital social => 72267600,00 EURO
    Chiffre d'affaires 2014 => 1056377000,00 EU

    Dénomination => IMPRIMERIE NATIONALE
    Adresse => None
    Téléphone => None
    SIREN => 352973622
    SIRET (siege) => 35297362200181
    N° de TVA Intracommunautaire => None
    Activité (Code NAF ou APE) => Autre imprimerie (labeur) (1812Z)
    Forme juridique => SA à conseil d'administration
    Date immatriculation RCS => None
    Date de dernière mise à jour => None
    Tranche d'effectif => 250 à 499 salariés
    Capital social => 34500000,00 EURO
    Chiffre d'affaires 2014 => 136507800,00 EU


    Dénomination => AMBULANCES D'EVIAN
    Adresse => None
    Téléphone => None
    SIREN => 338819428
    SIRET (siege) => 33881942800016
    N° de TVA Intracommunautaire => None
    Activité (Code NAF ou APE) => Ambulances (8690A)
    Forme juridique => Société à responsabilité limitée
    Date immatriculation RCS => None
    Date de dernière mise à jour => None
    Tranche d'effectif => 6 à 9 salariés
    Capital social => 8384,70 EURO
    Chiffre d'affaires 2014 => 570800,00 EU


    Merci d'avance et bonne journée à tous,

    Juliette

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

    Il suffit de pousser le bloc "for money in..." _dans_ celui qui fait les itérations sur les URL:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    from bs4 import BeautifulSoup
    import urllib
    liste = ['http://www.societe.com/societe/air-liquide-france-industrie-314119504.html', 'http://www.societe.com/societe/imprimerie-nationale-352973622.html', 'http://www.societe.com/societe/sarl-ambulances-d-evian-338819428.html']
    for i in liste:
         print (i)
         html_file = urllib.request.urlopen(i)
         soup = BeautifulSoup(html_file)
         tables = soup.findAll('table')
         for money in tables[0].findAll('tr'):
              tds=money.findAll('td')
              print (tds[0].string, '=>', tds[1].string)
    Il y a bien sûr d'autres méthodes...

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

  3. #3
    Futur Membre du Club
    Femme Profil pro
    doctorante
    Inscrit en
    Juillet 2015
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : doctorante

    Informations forums :
    Inscription : Juillet 2015
    Messages : 3
    Par défaut
    Merci beauoup wiztricks ça marche nickel!

Discussions similaires

  1. Liste deroulante <html:select> avec les BDD
    Par avia767 dans le forum Struts 1
    Réponses: 1
    Dernier message: 05/11/2008, 18h13
  2. Liste deroulante avec <html:select> hard coded
    Par avia767 dans le forum Struts 1
    Réponses: 8
    Dernier message: 22/10/2008, 16h52
  3. liste deroulante avec html:select
    Par _momo dans le forum Struts 1
    Réponses: 8
    Dernier message: 28/08/2007, 15h12
  4. [HTML]Liste avec des images
    Par GLDavid dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 03/08/2006, 17h14
  5. [HTML] select liste avec decalages des entrees
    Par guy2004 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 19/05/2006, 15h10

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