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 :

encore du scrapping


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    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 encore du scrapping
    Bonsoir,
    Je souhaitais automatiser le téléchargement d'un fichier.
    Évidemment, il change de nom, donc un peu pénible.
    J'ai fait cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    from selenium import webdriver
     
    driver = webdriver.Chrome("/usr/bin/chromedriver")
    driver.get("https://www.data.gouv.fr/fr/datasets/donnees-hospitalieres-relatives-a-lepidemie-de-covid-19/")
     
    text = "https://www.data.gouv.fr/fr/datasets/r/"
    element = driver.find_elements_by_xpath('//a[contains(@href, "%s")]' % text)
    # driver.find_elements_by_link_text("Télécharger").click()
     
    element[2].click()
     
     
    print("fichier téléchargé")
    # driver.close()
    - D'une part, ce n'est pas propre du tout (je cherche tous les fichiers et je prends le 3ème (le numéro 2)
    - d'autre part, j'ai un pop-up qui me demande l'autorisation de télécharger le fichier (j'ai l'impression que ce n'est pas systématique)
    Bon, cela fonctionne mais ne me satisfait pas du tout.
    Je précise que c'est à but d'entraînement.
    J'ai fait un autre programme qui traite les données.

  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
    Bon, j'ai à peu près résolu mon problème de pop-up en faisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    from selenium import webdriver
     
    driver = webdriver.Chrome("/usr/bin/chromedriver")
     
    chromedriver = "path/to/chromedriver" 
     
    chrome_options = webdriver.ChromeOptions()
     
    prefs = {'profile.default_content_setting_values.automatic_downloads': 1} 
    chrome_options.add_experimental_option("prefs", prefs) 
    driver = webdriver.Chrome(chrome_options=chrome_options)
    Un message d'erreur quand même qui me laisse perplexe après les recherches effectuées :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DeprecationWarning: use options instead of chrome_options
    Ce n'est toujours pas propre car je choisis toujours mon fichier un peu au hasard.

Discussions similaires

  1. Programmer encore en VB 6 c'est pas bien ? Pourquoi ?
    Par Nektanebos dans le forum Débats sur le développement - Le Best Of
    Réponses: 85
    Dernier message: 10/03/2009, 14h43
  2. choix sgbdr (encore!)
    Par _Gabriel_ dans le forum Décisions SGBD
    Réponses: 9
    Dernier message: 23/03/2004, 10h39
  3. TEdit (encore)
    Par dj.motte dans le forum C++Builder
    Réponses: 5
    Dernier message: 23/12/2002, 19h02
  4. TPalette (encore)
    Par Flipper dans le forum Langage
    Réponses: 3
    Dernier message: 28/11/2002, 23h45

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