[PYTHON] Comment télécharger automatiquement des fichiers .gpx sur Strava

1. Découvrez quelle version de Google Chrome vous utilisez

chrome L'image provient de https://www.iijmio.jp/thissite/version

2. Téléchargez le logiciel "chromedriver" pour Google Chrome

-Télécharger depuis ici.

chromedriver

3. Ouvrez un terminal et procédez comme suit dans le terminal

pip install beautifulsoup4 selenium requests

4. Réécrivez l '"adresse e-mail" et le "mot de passe" dans le code source suivant pour qu'ils correspondent à votre compte strava

gpx.py


import os
import re
import sys
import time
from bs4 import BeautifulSoup
import requests
from glob import glob
from selenium import webdriver
from selenium.webdriver.chrome.options import Options



options = Options()
options.binary_location = '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome'
driver = webdriver.Chrome(os.path.join(os.getcwd(), "chromedriver"))

def get_gpx_names():
    return glob('*.gpx')
    

def upload_gpx_to_strava(gpx_names):
    
    for i, gpx_name in enumerate(gpx_names):
        driver.get('https://labs.strava.com/gpx-to-route/#12/-122.44503/37.73651')

        driver.find_element_by_id("gpxFile").send_keys(os.path.join(os.getcwd(), gpx_name))

        time.sleep(15)

        if i == 0:
            driver.find_element_by_id("oauthButton").click()

            driver.switch_to.window(driver.window_handles[-1])

            driver.find_element_by_id("email").send_keys("adresse mail")

            driver.find_element_by_id("password").send_keys("mot de passe")

            login_button = driver.find_element_by_id("login-button")
            driver.execute_script("window.scrollTo(0, document.body.scrollHeight);")
            login_button.click()

            time.sleep(5)

            driver.switch_to.window(driver.window_handles[-1])

        driver.find_element_by_id("saveButton").click()
        time.sleep(5)

        driver.find_element_by_class_name("save-route").click()

        driver.find_element_by_id("name").send_keys("\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b\b"+os.path.splitext(os.path.basename(gpx_name))[0])

        driver.find_element_by_class_name("reverse").click()

        time.sleep(5)
        
if __name__ == "__main__":
    gpx_names = get_gpx_names()
    upload_gpx_to_strava(gpx_names)

5. Placez le fichier .gpx que vous souhaitez télécharger dans le même répertoire que gpx.py

6. Procédez comme suit

python gpx.py




Recommended Posts

Comment télécharger automatiquement des fichiers .gpx sur Strava
Comment télécharger des fichiers dans la vue de classe générique Django
Comment télécharger des fichiers sur Cloud Storage avec le SDK Python de Firebase
[Linux] Comment subdiviser des fichiers et des dossiers
Comment créer un fichier * .spec pour pyinstaller.
Comment trouver des fichiers volumineux sous Linux
Utilisez boto pour charger / télécharger des fichiers vers s3.
Comment lire des fichiers CSV avec Pandas
Comment télécharger avec Heroku, Flask, Python, Git (4)
Comment créer des fichiers volumineux à haute vitesse
Résumé de la façon d'importer des fichiers dans Python 3
Comment vérifier / extraire des fichiers dans un package RPM
Comment obtenir les fichiers dans le dossier [Python]
Télécharger des fichiers sur Google Drive avec Lambda (Python)
Comment démarrer automatiquement une VM préemptive GCP
Comment mettre en ligne sur un Drive partagé à l'aide de pydrive
Comment faire pour qu'AWS rekognition reconnaisse les fichiers image locaux
Comment télécharger avec Heroku, Flask, Python, Git (Partie 3)
Comment charger des fichiers dans Google Drive avec Google Colaboratory
Comment télécharger avec Heroku, Flask, Python, Git (Partie 1)
Comment télécharger des fichiers depuis Selenium of Python dans Chrome
Comment ajouter des numéros de page à un fichier PDF (en Python)
[Python] Comment fractionner et modulariser des fichiers (simple, exemple)
Comment télécharger avec Heroku, Flask, Python, Git (Partie 2)
Comment référencer des fichiers statiques dans un projet Django
Télécharger des fichiers avec Django
Comment utiliser Python-shell
Remarques sur l'utilisation de tf.data
Comment utiliser virtualenv
Comment utiliser Seaboan
Comment utiliser le shogun
Comment utiliser Pandas 2
Comment lire PyPI
Comment installer pip
Comment utiliser Virtualenv
Comment utiliser numpy.vectorize
Comment mettre à jour easy_install
Comment installer Archlinux
Comment utiliser pytest_report_header
Comment redémarrer gunicorn
Comment installer python
Comment héberger virtuel
Comment déboguer le sélénium
Comment utiliser partiel
Comment utiliser Bio.Phylo
Comment lire JSON
Comment utiliser SymPy
Comment utiliser x-means
Comment mettre à jour Spyder
Comment utiliser IPython
Comment installer BayesOpt
Comment utiliser virtualenv
Comment utiliser Matplotlib
Comment utiliser numpy
Comment utiliser TokyoTechFes2015
Comment utiliser venv
Comment utiliser le dictionnaire {}
Comment utiliser Pyenv
Comment faire pousser des fichiers dot
Comment utiliser la liste []