Ich beschloss, im Zusammenhang mit meinem Nebenjob eine Website für Webdesign-Galerien zu erstellen, die sich auf Behandlungskliniken mit WordPress spezialisiert hat. Es ist jedoch sehr mühsam, die Aufnahme für das Bild der Galerieseite zu speichern und jedes Mal auf WordPress zu aktualisieren. Also habe ich nach dem Studium von Python eine automatische Posting-Umgebung erstellt. Da es lange dauern wird, werde ich es mehrmals posten.
\ * Das automatische Posten bezieht sich hier auf das Ausführen eines Python-Skripts auf dem Terminal, das Erstellen von Screenshots, das Erstellen von Post-Text, das Anmelden bei worpdress und das Posten.
Die eigentliche Galerie-Site ist hier.
image_cap
├── cap.py #Capture speichern, CSV-Skript schreiben
├── images #Wo soll das aufgenommene Bild gespeichert werden?
├── min-images #Wo soll das komprimierte aufgenommene Bild gespeichert werden?
├── list.txt #Galerie-Rufen Sie die URL der Site ab, zu der Sie hinzufügen möchten
├── up-list.csv #CSV für Massenbuchung
├── upload.py #Skript für WordPress-Posting
├── setting.config #Einstellungen wie Anmelde-ID, Kennwort und Bildverzeichnispfad
Der Quellcode wird vorerst von github verwaltet. Bitte klicken Sie auf hier.
Software zum programmgesteuerten Ausführen des Webbrowsers zum Erfassen von Aufnahmen usw. Es scheint hauptsächlich zum Testen von Websites verwendet zu werden.
$ pip install selenium
Ich möchte dieses Mal Chrome verwenden, also lade es von Homebrew herunter.
$ brew install chromedriver
$ which chromedriver
usr/local/bin/chromedriver #Stellen Sie dies als Selenpass ein
Es wird verwendet, um den Titel der veröffentlichten Site durch Scraping abzurufen.
$ pip install beautifulsoup4
So verwenden Sie die tinypng-API für die Bildkomprimierung Der Beitrag von hier war sehr hilfreich. Stellen Sie auch den API-SCHLÜSSEL ein.
$ pip install tinify
Installiert, um lxml als HTML-Parser zu verwenden. Um ehrlich zu sein, weiß ich nicht, was der Parser tun wird. .. Schweiß
pip install lxml
Ich habe auf [hier] verwiesen (http://qiita.com/itkr/items/513318a9b5b92bd56185).
Ich habe den ConfigParser von Python verwendet, um Variablen wie die Anmelde-ID und den Dateipfad zusammenzustellen, um zukünftige Korrekturen zu vereinfachen. Wir werden dies im folgenden Code verwenden.
setting.config
[CAPTURE] #Erfasster Bildpfad
img_pass = /cap_git/images
min_img_pass = /cap_git/min_image
[RESIZE] #tinypng API-Schlüssel
tiny_key = hogehoge
[WRITE] #CSV-Schreibeinstellungen
init_row = post_title,post_category,capture,url,post_type,post_status
post_type = post
post_status = publish
up_address = http://test/wp-content/themes/test/dist/images/
[UPLOAD] #Wordpress-Anmeldeinformationen usw.
login_url = http://test/wp-login.php
login_id = hoge
login_pass = hogehoge
import_url = http://test/wp-admin/admin.php?import=csv
img_up_pass = http://test/wp-content/themes/sage-8.5/dist/images
Laden Sie also in cap.py die folgenden Variablen
cap.py
#Einstellungsdatei lesen
conf = configparser.ConfigParser()
conf.read('setting.config')
#API-Schlüsseleinstellung
tinify.key = conf['RESIZE']['tiny_key']
#Dir mit Bild vor der Verkleinerung
FROM_DIR = conf['CAPTURE']['img_pass']
#Dir, um das verkleinerte Bild zu setzen
MIN_DIR = conf['CAPTURE']['min_img_pass']
#Elemente einstellen
INIT_ROW = list(conf['WRITE']['init_row'].split(','))
#Bild URL
IM_ADRRESS = conf['WRITE']['up_address']
#Zu setzender Beitragstyp
POST_TYPE = conf['WRITE']['post_type']
POST_STATUS = conf['WRITE']['post_status']
Modulkonfiguration mit configparser.ConfigParser () Lesen Sie dies, indem Sie den Pfad der confg-Datei in conf.reade angeben. Da auf den Wert in einem wörterbuchartigen Format zugegriffen werden kann, wird er in die Variable eingefügt.
Für Massenbuchungen in CSV. Ich habe auf [hier] verwiesen (https://liginc.co.jp/web/wp/plug-in/58046). Darüber hinaus legt Advanced Custom Fields auch benutzerdefinierte Felder für die Buchung fest.
Teil 2 Speichern Sie die Bildschirmaufnahme weiter
Recommended Posts