[PYTHON] [EC2] Introduction au grattage avec du sélénium (extraction de texte et capture d'écran)

[EC2] Introduction au grattage au sélénium

Résumé du flux jusqu'à l'extraction de l'élément de l'URL spécifiée à l'aide du sélénium de python sur EC2.

Choses à faire

--Installation du pilote chrome --Installez Chrome --Installation de sélénium --Installation de polices japonaises

supposition

-Connecté à une instance EC2 en utilisant ssh. -Python3 est déjà installé.

Comment se connecter à une instance EC2 en utilisant ssh Comment créer un environnement python3 sur EC2

1. 1. installation du pilote chrome

(1) Accédez à la page DL de la version que vous souhaitez télécharger à partir de la Page officielle de Chrome Driver.

(2) Copiez l'adresse du lien pour linux64.

③ DL et décompresser

python


#Déplacer vers le répertoire tmp
$ cd/tmp/

#Télécharger chromedriver (l'URL est une copie)
$ wget https://chromedriver.storage.googleapis.com/83.0.4103.39/chromedriver_linux64.zip


#Dégivrer
$ unzip chromedriver_linux64.zip

#Fichier décompressé/user/Déplacer sous le bac
$ sudo mv chromedriver /usr/bin/chromedriver

2. installation de chrome

#Installation complète de Chrome en une phrase
$ curl https://intoli.com/install-google-chrome.sh | bash

Complete!   <-Installation réussie
Successfully installed Google Chrome!


#Renommer le fichier
$ sudo mv /usr/bin/google-chrome-stable /usr/bin/google-chrome


#Vérifier la version
$ google-chrome --version && which google-chrome

Google Chrome 83.0.4103.61 <- --Résultat d'exécution de la version
/usr/bin/google-chrome   <-Résultat d'exécution dont

Contenu de chaque commande

3. 3. Installez le sélénium

$ pip3 install selenium

## 4. Installation de polices japonaises ``` $ sudo yum install ipa-gothic-fonts ipa-mincho-fonts ipa-pgothic-fonts ipa-pmincho-fonts ```

Si vous ne l'installez pas, les caractères seront déformés lorsque vous capturerez l'écran.

Exemple de caractères déformés


## 5. Extraire le texte de l'URL spécifiée (text.py)

① Créez un fichier text.py dans le dossier utilisateur

python


$ cd ~
$ touch text.py
$ vi text.py

② L'éditeur vim démarre, donc copiez ce qui suit. └ Appuyez sur la touche "i" pour entrer en mode insertion. └ Copier et coller est "shift + ins" (ou cliquez avec le bouton droit et sélectionnez coller)

python


#-*- coding: utf-8 -*-

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.headless = True

driver = webdriver.Chrome(options=options)

#Spécifier l'URL
driver.get("https://www.google.co.jp/")

#Spécifiez l'élément à gratter
element_text = driver.find_element_by_id("hptl").text

print(element_text)

driver.quit()

③ Après avoir collé, enregistrez l'éditeur vim ci-dessous et terminez. esc + :wq + Enter

④ Exécutez le fichier créé

$ python3 text.py

#Succès si ce qui suit est affiché
À propos de Google Store
image.png

Le grattage du texte en haut à droite du haut de Google est terminé.

Signification de chaque code de grattage


## Obtenez une capture d'écran de l'URL spécifiée (capture.py)

① Créez un fichier capture.py dans le dossier utilisateur

python


$ cd ~
$ touch capture.py
$ vi capture.py

② L'éditeur vim démarre, donc copiez ce qui suit. └ Appuyez sur la touche "i" pour entrer en mode insertion. └ Copier et coller est "shift + ins" (ou cliquez avec le bouton droit et sélectionnez coller)

python


#-*- coding: utf-8 -*-

from selenium import webdriver
from selenium.webdriver.chrome.options import Options

options = Options()
options.headless = True

#Spécifiez la taille de l'écran à capturer
options.add_argument('--window-size=1280,1024')

driver = webdriver.Chrome(options=options)

#Spécifiez l'URL
driver.get("https://www.google.co.jp/")

#Spécifiez le nom de fichier et l'extension de la capture
driver.save_screenshot('googletop.png')


driver.quit()

③ Après avoir collé, enregistrez l'éditeur vim ci-dessous et terminez. esc + :wq + Enter

④ Exécutez le fichier créé

$ python3 capture.py

#Succès si les fichiers suivants sont créés dans le même répertoire
$ ls
googletop.png

Vous pouvez gratter relativement simplement. Après cela, modifiez l'URL, modifiez les éléments à extraire et personnalisez.

Recommended Posts

[EC2] Introduction au grattage avec du sélénium (extraction de texte et capture d'écran)
Scraping à l'aide de lxml et enregistrement sur MySQL
[EC2] Comment faire une capture d'écran de votre smartphone avec du sélénium
J'ai essayé le web scraping en utilisant python et sélénium
Premiers pas avec le Web Scraping
[Python] Introduction au scraping | Programme d'ouverture de pages Web (sélénium webdriver)
Commencez à Selenium en utilisant python
Web scraping avec Selenium (Python)
Introduction à discord.py (3) Utilisation de la voix
Utilisez Firefox avec Selenium depuis python et enregistrez la capture d'écran
[Introduction à Python3 Jour 1] Programmation et Python
Grattage avec Python, Selenium et Chromedriver
[EC2] Comment exécuter le pilote Web sélénium
Sélénium et python pour ouvrir Google
J'ai appris le grattage à l'aide de sélénium pour créer un modèle de prédiction de courses de chevaux.