[PYTHON] Laden Sie eine große Anzahl von Bildern in Wordpress hoch

Ich musste eine große Anzahl von Bildern (10.000 oder mehr) auf WordPress hochladen und habe versucht, "Media UP FTP" zu verwenden, aber ich habe wahrscheinlich einen Fehler erhalten, weil zu viele vorhanden waren. Erstens dauerte das Laden zu lange und ich konnte nicht richtig hochladen. Aus diesem Grund habe ich beschlossen, den Browser mit Python zu betreiben und das Bild wie RPA auf Wordpress hochzuladen. Affinger5 wird für das Wordpress-Thema verwendet. Ich habe kein anderes Thema verwendet, daher weiß ich nicht, ob es in anderen Umgebungen funktioniert. Der verwendete Browser ist Chrome.


from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
import time
from selenium.webdriver.common.keys import Keys
import glob
import os

#Funktion zum vorübergehenden Stoppen des Browserbetriebs
def sleep(sleep_time):
    time.sleep(sleep_time)

#Melden Sie sich bei Wordpress an.
driver = webdriver.Chrome()
wordpress_url = "URL meines Wordpress"
driver.get(wordpress_url)
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "wp-submit")))
# ID/Geben Sie PASS ein
sleep(0.1)
ID = driver.find_element_by_id("user_login")
ID.send_keys("ID zum Anmelden")
sleep(0.1)
password = driver.find_element_by_id("user_pass")
password.send_keys("Passwort zum Anmelden")
sleep(0.1)
#Klicken Sie auf die Schaltfläche Anmelden
login_button = driver.find_element_by_name("wp-submit")
login_button.click()
sleep(0.1)

#Wechseln Sie zum Buchungsbildschirm
driver.get("Bildschirm-URL posten")
WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "footer-upgrade")))
sleep(0.1)

#Gehen Sie zum Medien-Upload
driver.get("URL")

#Geben Sie den Ordner an, in dem die Bilder gespeichert werden
#Geben Sie diesmal nur JPG an
imgs = glob.glob(r"C:\img\*.jpg ")

#Code zum Hochladen von Bildern
#Bevor Sie ein Bild hochladen, müssen Sie das gleiche Verfahren ausführen, um das Bild selbst hochzuladen
#Da Sie den Explorer direkt bedienen, muss der Ordner, den Sie hochladen möchten, geöffnet sein, wenn Sie auf die Schaltfläche "Datei auswählen" klicken.
for img in imgs:
    
    media = driver.find_element_by_id("plupload-browse-button")
    sleep(0.1)
    media.click()
    sleep(0.3)

    #Der Name des Bildes ist der gleiche wie das Originalbild
    img_name = os.path.basename(img)

    #Kopieren Sie den Bildnamen und fügen Sie ihn ein
    pyperclip.copy(img_name)
    pgui.hotkey('ctrl', 'v')
    sleep(0.3)

    #Drücken Sie die EINGABETASTE, um ein Bild auszuwählen und den Explorer zu schließen.
    pgui.typewrite(['enter'])
    sleep(0.1)    

Sie können Ihren Computer nicht verwenden, während der Code ausgeführt wird, da Sie nur Ihren Computer die Arbeit für Sie erledigen lassen. Außerdem benötigen Sie den Chrome-Treiber, um den Web-Treiber verwenden zu können. Laden Sie daher den Treiber herunter, der der von Ihnen verwendeten Chrome-Version entspricht. Möglicherweise müssen auch Umgebungsvariablen festgelegt werden. Ich denke, andere Leute haben es ausführlich erklärt, also suchen Sie bitte danach.

Recommended Posts

Laden Sie eine große Anzahl von Bildern in Wordpress hoch
TensorFlow Aus einer großen Anzahl von Bildern lernen ... ~ (fast) Lösung ~
TensorFlow Aus einer großen Anzahl von Bildern lernen ... (ungelöstes Problem) → 12/18 Gelöst
Verbinde eine große Anzahl von Videos miteinander!
Konvertieren Sie eine große Anzahl von PDF-Dateien mit pdfminer in Textdateien
Organisieren Sie eine große Anzahl von Dateien in Ordnern
Ich habe ein Skript geschrieben, um ein WordPress-Plug-In hochzuladen
Ich möchte das Problem des Speicherverlusts bei der Ausgabe einer großen Anzahl von Bildern mit Matplotlib lösen
Erstellen Sie einen Datensatz mit Bildern, die für das Training verwendet werden sollen
Beschleunigen Sie eine große Anzahl einfacher Abfragen in MySQL
[Python] Generieren Sie zufällig eine große Anzahl englischer Personennamen
Laden Sie eine Datei in Dropbox hoch
Ein Tool zum Verfolgen von Postern mit einer großen Anzahl von Likes auf Instagram [25 Minuten bis 1 Sekunde]
Verwenden Sie die API, um gemeinsam eine große Anzahl ungelesener E-Mails in Google Mail zum Lesen zu ändern
So erhöhen Sie die Anzahl der Datensatzbilder für maschinelles Lernen
Scrapy-Redis wird zum Crawlen einer großen Anzahl von Domänen empfohlen
Umbenennung der Seriennummer von verkratzten Bildern
Das Ausführen einer großen Anzahl von Python3 Executor.submit verbraucht möglicherweise viel Speicher.
Wie erstelle ich eine große Menge an Testdaten in MySQL? ??
[Django] Was tun, wenn das zu erstellende Modell viele Felder enthält?
Maximale durchschnittliche Anzahl täglicher Besucher (groß)
Verwenden Sie shutil, um alle Ordner mit einer kleinen Anzahl von Dateien zu löschen
ETL-Verarbeitung für eine große Anzahl von GTFS-Echtzeitdateien (Python Edition)
Machen wir einen Jupyter-Kernel
[Python] Ein Programm, das die Anzahl der gepaarten Socken berechnet
[Python] So fügen Sie eine beliebige Anzahl von Standardeingaben in die Liste ein
So setzen Sie eine Zeilennummer am Anfang einer CSV-Datei
So spielen Sie ein Video ab, während Sie die Anzahl der Bilder ansehen (Mac)
Zusammenfassung zum Erstellen einer LAMP + Wordpress-Umgebung mit Sakura VPS
Laden Sie Bilder mit Python auf Google Drive hoch
Lassen Sie Code Day6 ab Null beginnen "1342. Anzahl der Schritte, um eine Zahl auf Null zu reduzieren"
Finden Sie heraus, wie Sie eine Datei mit einer bestimmten Anzahl von Zeilen gleichmäßig teilen können
So zählen Sie die Anzahl der Elemente in Django und geben sie in die Vorlage aus
Ermitteln Sie mithilfe der Twitter-API die Anzahl der Tweets, die sich auf ein bestimmtes Keyword beziehen
So berechnen Sie die Volatilität einer Marke
Konvertieren Sie Daten mit Form (Anzahl der Daten, 1) in (Anzahl der Daten,) mit numpy.
Konvertieren Sie die "Anzahl" des Excel-Datums in die Python-Datumszeit
Finden Sie die Anzahl der Tage in einem Monat
Anonymer Upload von Bildern mit der Imgur-API (mit Python)
Laden Sie Bilder mit tkinter mit GUI auf S3 hoch
Hochladen auf ein freigegebenes Laufwerk mit pydrive
Ich möchte eine Django-App auf Heroku hochladen
Wie identifiziere ich das Element mit der geringsten Anzahl von Zeichen in einer Python-Liste?
Konsolidieren Sie eine große Anzahl von CSV-Dateien in Ordnern mit Python (Daten ohne Header).
Ich wollte viele Bilder sammeln, also habe ich versucht, "Google Image Download" zu verwenden.
Ein Skript, das Stresstests entsprechend der Anzahl der CPU-Kerne durchführen kann
Suchen Sie eine Richtlinie für die Anzahl der Prozesse / Threads, die auf dem Anwendungsserver festgelegt werden sollen
Wie man die Portnummer des xinetd-Dienstes kennt
Ich möchte Bilder von Katzen von Instagram erkennen
Memo mit Python mit HiveServer2 von EMR verbunden
So ermitteln Sie die Anzahl der Stellen in Python
Konvertieren Sie das Slice-Objekt in eine Liste mit Indexnummern
Hinweise zur Verwendung von AIST Spacon ABCI
Liste der Orte, auf die ich beim Hochladen von Bildern aus Django gestoßen bin
Ein Memo zum visuellen Verstehen der Achse von Pandas.Panel
So schreiben Sie einen Listen- / Wörterbuchtyp von Python3