[PYTHON] So laden Sie automatisch .gpx-Dateien auf Strava hoch

1. Finden Sie heraus, welche Version von Google Chrome Sie verwenden

chrome Das Bild stammt von https://www.iijmio.jp/thissite/version

2. Laden Sie die Software "chromedriver" für Google Chrome herunter

-Download von hier.

chromedriver

--Das heruntergeladene Format ist im ZIP-Format. Bitte legen Sie das extrahierte Format im ausführbaren Format in Ihrem Verzeichnis ab.

3. Öffnen Sie ein Terminal und gehen Sie im Terminal wie folgt vor

pip install beautifulsoup4 selenium requests

4. Schreiben Sie die "E-Mail-Adresse" und das "Passwort" im folgenden Quellcode neu, um sie an Ihr strava-Konto anzupassen

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("Mail Adresse")

            driver.find_element_by_id("password").send_keys("Passwort")

            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. Legen Sie die GPX-Datei, die Sie hochladen möchten, im selben Verzeichnis wie gpx.py ab

6. Gehen Sie wie folgt vor

python gpx.py




Recommended Posts

So laden Sie automatisch .gpx-Dateien auf Strava hoch
Hochladen von Dateien in der generischen Klassenansicht von Django
Hochladen von Dateien in den Cloud-Speicher mit dem Python-SDK von Firebase
[Linux] Unterteilen von Dateien und Ordnern
So erstellen Sie eine * .spec-Datei für pyinstaller.
So finden Sie große Dateien unter Linux
Verwenden Sie boto, um Dateien auf s3 hoch- / herunterzuladen.
Lesen von CSV-Dateien mit Pandas
Hochladen mit Heroku, Flask, Python, Git (4)
So erstellen Sie große Dateien mit hoher Geschwindigkeit
Zusammenfassung zum Importieren von Dateien in Python 3
So überprüfen / extrahieren Sie Dateien im RPM-Paket
So erhalten Sie die Dateien im Ordner [Python]
Laden Sie Dateien mit Lambda (Python) auf Google Drive hoch.
So starten Sie die GCP-VM automatisch
Hochladen auf ein freigegebenes Laufwerk mit pydrive
So erkennt die AWS-Erkennung lokale Bilddateien
Hochladen mit Heroku, Flask, Python, Git (Teil 3)
So laden Sie Dateien in Google Drive mit Google Colaboratory
Hochladen mit Heroku, Flask, Python, Git (Teil 1)
So laden Sie Dateien von Selenium of Python in Chrome herunter
So fügen Sie einer PDF-Datei Seitenzahlen hinzu (in Python)
[Python] So teilen und modularisieren Sie Dateien (einfach, Beispiel)
Hochladen mit Heroku, Flask, Python, Git (Teil 2)
So verweisen Sie auf statische Dateien in einem Django-Projekt
Laden Sie Dateien mit Django hoch
Wie benutzt man Python-Shell
Hinweise zur Verwendung von tf.data
Verwendung von virtualenv
Wie benutzt man Seaboan?
Wie man Shogun benutzt
Verwendung von Pandas 2
Wie man PyPI liest
So installieren Sie pip
Verwendung von Virtualenv
Verwendung von numpy.vectorize
So aktualisieren Sie easy_install
So installieren Sie archlinux
Verwendung von pytest_report_header
Wie man Gunicorn neu startet
So installieren Sie Python
Wie zum virtuellen Host
Wie man Selen debuggt
Wie man teilweise verwendet
Wie man Bio.Phylo benutzt
Wie man JSON liest
Verwendung von SymPy
Wie man x-means benutzt
So aktualisieren Sie Spyder
Verwendung von IPython
So installieren Sie BayesOpt
Verwendung von virtualenv
Wie benutzt man Matplotlib?
Wie benutzt man numpy?
Verwendung von TokyoTechFes2015
Wie benutzt man venv
Verwendung des Wörterbuchs {}
Wie benutzt man Pyenv?
Wie man Dotfiles züchtet
Verwendung der Liste []