Publication automatique du site Web de conception de site Gary avec python + sélénium (1) Construction d'environnement

Aperçu

Motivation

J'ai décidé de créer un site de galerie de conception Web spécialisé dans les cliniques de traitement avec wordpress en lien avec mon travail parallèle. Cependant, il est très difficile d'enregistrer la capture de l'image du site de la galerie et de la mettre à jour vers wordpress à chaque fois. J'ai donc créé un environnement de publication automatique après avoir étudié Python. Comme ce sera long, je le posterai dans plusieurs fois.

\ * La publication automatique ici fait référence à l'exécution d'un script python sur le terminal, à la capture d'écran, à la création de texte de publication, à la connexion à worpdress et à la publication.

supposition

Contenu

  1. Construction de l'environnement
  2. Prenez une capture d'écran-sélénium
  3. Recadrage et compression d'image-PIL, tinypng
  4. Création de CSV pour publication --bs4
  5. Post-sélénium automatique

Le site actuel de la galerie sera ici.

Structure des dossiers

image_cap
├── cap.py #Capture de sauvegarde, script d'écriture csv
├── images #Où enregistrer l'image capturée
├── min-images #Où enregistrer l'image capturée compressée
├── list.txt #Galerie-Obtenez l'URL du site auquel vous souhaitez ajouter
├── up-list.csv #CSV utilisé pour la publication groupée
├── upload.py #Script pour publication wordpress
├── setting.config #Paramètres tels que l'identifiant de connexion, le mot de passe et le chemin du répertoire d'images

Pour le moment, le code source est géré par github. Veuillez cliquer ici.

1. Construction de l'environnement

Paramètres locaux

Installez le sélénium

Logiciel pour exécuter par programme le sondeur Web utilisé pour capturer des captures, etc. Il semble être utilisé principalement pour tester des sites Web.

$ pip install selenium

Télécharger chromewebdriver

Je veux utiliser Chrome cette fois, alors téléchargez-le depuis homebrew.

$ brew install chromedriver
$ which chromedriver 
  usr/local/bin/chromedriver #Définissez ceci comme un passage de sélénium

Installation de beautifulsoup4

Il est utilisé pour obtenir le titre du site affiché par grattage.

$ pip install beautifulsoup4

installation de tinify

Pour utiliser l'API de tinypng pour la compression d'image. Le message de ici a été très utile. Définissez également la clé API.

$ pip install tinify

installation de lxml

Installé pour utiliser lxml comme analyseur HTML. Pour être honnête, je ne sais pas ce que fera l'analyseur. .. Transpiration

pip install lxml

J'ai fait référence à ici.

Lire le fichier de paramètres

J'ai rassemblé des variables telles que l'ID de connexion et le chemin du fichier à l'aide de ConfigParser de python pour faciliter les futures corrections. Nous utiliserons ceci dans le code ci-dessous.

setting.config


[CAPTURE] #Chemin de l'image capturée
img_pass = /cap_git/images
min_img_pass = /cap_git/min_image

[RESIZE] #clé API tinypng
tiny_key = hogehoge

[WRITE] #paramètres d'écriture csv
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] #Informations de connexion Wordpress, etc.
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

Donc dans cap.py chargez les variables ci-dessous

cap.py


#Lire le fichier de paramètres
conf = configparser.ConfigParser()
conf.read('setting.config')

#Paramètre de clé API
tinify.key = conf['RESIZE']['tiny_key']
#Dir avec image avant réduction
FROM_DIR = conf['CAPTURE']['img_pass']
#Dir pour mettre l'image réduite
MIN_DIR = conf['CAPTURE']['min_img_pass']
#Éléments de réglage
INIT_ROW = list(conf['WRITE']['init_row'].split(','))
#URL de l'image
IM_ADRRESS = conf['WRITE']['up_address']
#Type de message à définir
POST_TYPE = conf['WRITE']['post_type']
POST_STATUS = conf['WRITE']['post_status']

Configuration du module avec configparser.ConfigParser () Lisez en spécifiant le chemin du fichier de configuration dans conf.reade. Étant donné que la valeur est accessible dans un format de type dictionnaire, elle est insérée dans la variable.

Paramètres latéraux de Wordpress

Ajouter un plugin d'importation CSV vraiment simple

Pour la publication groupée en csv. J'ai fait référence à ici. En outre, les champs personnalisés avancés définissent également des champs personnalisés pour la publication.

Partie 2 Continuez à enregistrer la capture d'écran

Recommended Posts

Publication automatique du site Web de conception de site Gary avec python + sélénium (1) Construction d'environnement
Grattez automatiquement le site reCAPTCHA tous les jours (1/7: construction de l'environnement python)
Fonctionnement automatique de Chrome avec Python + Sélénium + pandas
Construction d'environnement Poetry-virtualenv avec python de centos-sclo-rh ~ Notes
Construction de l'environnement de python2 & 3 (OSX)
Construction d'environnement de python et opencv
Commencez avec Python! ~ ① Construction de l'environnement ~
Construction de l'environnement Python3 avec pyenv-virtualenv (CentOS 7.3)
Construction de l'environnement pytorch @ python3.8 avec pipenv
Application Web réalisée avec Python + Flask (en utilisant VScode) # 1-Construction d'environnement virtuel-
[Ubuntu 18.04] Créer un environnement Python avec pyenv + pipenv
Site de courses de chevaux Web scraping avec Python
Pratiquer le web scraping avec Python et Selenium
Entendons-nous bien avec Python # 0 (Construction de l'environnement)
Création d'un environnement pour Flask / MySql / Apache / mod_wsgi / virtualenv avec Redhat7 (Python2.7) Novembre 2020
Explication facile à comprendre de l'application Web Python (Django) même pour les débutants (1) [Construction de l'environnement]
Collecter des informations depuis Twitter avec Python (construction de l'environnement)
Préparer l'environnement d'exécution de Python3 avec Docker
[Note] Exportez le html du site avec python.
Construction d'environnement (python)
Utiliser plusieurs versions de l'environnement python avec pyenv
Installation de Python 3 et Flask [Résumé de la construction de l'environnement]
[Python] Application Web à partir de 0! Pratique (1) -Conception, construction DB-
construction d'environnement python
Python - Construction de l'environnement
Construction de l'environnement Python
Premier python ① Construction de l'environnement avec pythonbrew & Hello World !!
De la construction d'environnement Python à la construction d'environnement virtuel avec anaconda
Connexion automatique au service maintenant avec le pilote Web Selenium
Construction d'environnement virtuel avec Docker + Flask (Python) + notebook Jupyter
Recommandation de construction d'un environnement Python portable avec conda
[Python] Construction de l'environnement OpenCV avec Docker (cv2.imshow () fonctionne également)
Suivi automatique sur Twitter avec python et sélénium! (RPA)
Construction d'un environnement d'analyse de données avec Python (notebook IPython + Pandas)
Création de "Web Tools" BINGO avec Python (Table of Contents)
Construction de l'environnement de développement de plug-in QGIS3 Python avec VSCode (macOS)
construction d'environnement python homebrew
Construction de l'environnement de développement Python
ScreenShot avec Selenium (édition Python)
environnement python avec docker-compose
Construction de l'environnement de développement python2.7
Grattage avec du sélénium [Python]
Construction de l'environnement Python @ Win7
OpenJTalk sur Windows10 (parler japonais avec Python depuis la construction de l'environnement)
Unifier l'environnement de l'équipe de développement Python en commençant par Poetry
[Construction de l'environnement LDAP: 7] Ajouter / rechercher / modifier / supprimer des utilisateurs avec Python
Création d'un environnement de développement local Python, partie 2 (pyenv-virtualenv, utilisation de pip)
Jusqu'à ce que Python [Django] de Web service soit publié [Construction de l'environnement]
Le point culminant de la construction de site normal REST + avec Flask, Eve
Fonctionnement automatique de Chrome avec Python + Sélénium + pandas
Construction de l'environnement Python + Anaconda + Pycharm
Web scraping avec python + JupyterLab
Grattage au sélénium en Python
Grattage avec Selenium + Python Partie 1