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 :

Récupérer données avec Beautiful Soup


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2019
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2019
    Messages : 1
    Par défaut Récupérer données avec Beautiful Soup
    Bonjour,

    Débutant sur Python, je ne parviens pas à récupérer les intitulés d'offres situées dans la balise <div class="hit-text"></div> sur le site suivant :
    https://careers.societegenerale.com/...D%5B1%5D=Stage

    Lorsque je lance mon programme, le détail de la division n'apparait pas avec BeautifulSoup et je ne peux donc pas trouver les informations qui m'intéressent.

    Pourriez vous me renseigner ?

    Merci d'avance!

    Voici mon programme :

    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
    from urllib.request import urlopen as uReq
    from bs4 import BeautifulSoup as soup
     
    #URL à traiter
    my_url='https://careers.societegenerale.com/rechercher?refinementList%5BjobType%5D%5B0%5D=Graduate%20program&refinementList%5BjobType%5D%5B1%5D=Stage'
     
    filename="Stages.csv"
    f=open(filename, "w")
     
    #Ouvrir l'URL, grabber les infos
    uClient=uReq(my_url)
    page_html=uClient.read()
    uClient.close()
    page_soup=soup(page_html,'html.parser')
     
    containers=page_soup.findAll("div",{"class":"hit-text"})
     
    #Trouver toutes les infos qui nous intéressent
    containers=page_soup.findAll("div",{"class":"hit-text"})
     
    #Nombre infos pour boucler
    l=len(containers)
    i=0
    print (l)
    titre="Offres_SocGen\n"
    f.write(titre)
     
    #Boucle
    while i<(l-1):
        poste=containers[i].text
        print("poste : " + poste)
        i=i+1
        f.write(poste + "\n")
     
    f.write("\n")

  2. #2
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    Laisse tomber pour l'instant le fichier csv et utilise des print() et des print(type()).

  3. #3
    Expert confirmé Avatar de BufferBob
    Profil pro
    responsable R&D vidage de truites
    Inscrit en
    Novembre 2010
    Messages
    3 041
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : responsable R&D vidage de truites

    Informations forums :
    Inscription : Novembre 2010
    Messages : 3 041
    Par défaut
    salut,

    c'est un site web "moderne", en clair il repose énormément sur JavaScript, lequel n'est pas exécuté quand tu récupères la page avec urllib/request, à ce stade il faut envisager de passer par Selenium ou décortiquer méthodiquement le trafic réseau (en l'occurrence à chaque fois qu'on scrolle la page vers le bas ça occasionne une requête POST vers un sous-domaine d'algolia.net)

Discussions similaires

  1. [PHP 5.3] Récupérer données pages web via PHP
    Par je.rochebrochart dans le forum Langage
    Réponses: 1
    Dernier message: 02/10/2011, 11h00
  2. Réponses: 0
    Dernier message: 17/12/2010, 12h06
  3. Réponses: 3
    Dernier message: 10/03/2009, 13h09
  4. Afficher une donnée sur la page web avec une fonction javascript
    Par Djaiffe dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/01/2008, 00h05
  5. [w10]récupérer données page web
    Par minoltis dans le forum WinDev
    Réponses: 2
    Dernier message: 08/02/2007, 13h53

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