[DOCKER] Grattez automatiquement le site reCAPTCHA tous les jours (1/7: construction de l'environnement python)

Je participais à un projet d'amélioration des opérations grâce à la RPA ... L'outil RPA était ** trop cher (7,2 millions de yens / an) **, je l'ai donc remplacé par python. C'est un résumé des travaux à l'époque.

Exigences

Aperçu

--Connectez-vous à un certain site, téléchargez les résultats de la recherche avec «mot spécifique» et obtenez les données.

Difficulté

--ReCAPTCHA est installé sur ce site spécifique lorsque vous vous connectez (!) --AnglarJS est utilisé sur ce site particulier

Sélection de technologie

Quand j'ai écrit seulement la conclusion (bien que j'aie fait beaucoup d'essais et d'erreurs), c'est devenu comme suit. C'était assez difficile ...

Story

Nous l'avons développé selon le flux suivant.

  1. Construisez un environnement python
  2. Créer un mécanisme de grattage de site
  3. Traitez le fichier téléchargé (xls) pour créer le produit final (csv)
  4. Créer un téléchargement de fichier depuis S3 / télécharger un fichier vers S3 5.2 Captcha implémenté
  5. Autorisez-le à démarrer dans un conteneur Docker
  6. Inscrivez-vous au lot AWS

Je pense que je vais diviser Qiita sur chaque page.

1. Construction de l'environnement

Tout d'abord, construisez un environnement python normal!

Cette fois, nous utiliserons python3.6.3. Le terminal est le "bash" par défaut. Étant donné que je souhaite utiliser plusieurs versions de python à l'avenir, je vais créer un environnement python dédié en utilisant pyenv et pyenv-virtualenv.

Installez pyenv

git clone https://github.com/pyenv/pyenv.git ~/.pyenv
echo 'export PYENV_ROOT="$HOME/.pyenv"' >> ~/.bash_profile
echo 'export PATH="$PYENV_ROOT/bin:$PATH"' >> ~/.bash_profile
echo -e 'if command -v pyenv 1>/dev/null 2>&1; then\n  eval "$(pyenv init -)"\nfi' >> ~/.bash_profile

Ensuite, installez python3.6

pyenv install 3.6.3

Installation de pyenv-virtualenv

Je ne sais pas si c'est nécessaire, mais quelqu'un a dit que c'était bien, alors j'inclurai également pyenv-virtualenv.

git clone https://github.com/pyenv/pyenv-virtualenv.git $(pyenv root)/plugins/pyenv-virtualenv
echo 'eval "$(pyenv virtualenv-init -)"' >> ~/.bash_profile

Et créez une virtualenv pour cette fois.

pyenv virtualenv 3.6.3 myproject

Créer un annuaire

Préparez le répertoire à utiliser pour ce projet. (Bien que j'aie réellement changé cela par essais et erreurs)

mkdir myproject
cd myproject
pyenv local myproject

Sous ce myproject, préparez les dossiers et fichiers comme indiqué ci-dessous.

├── app
│ ├── pilotes sélénium Place pilotes
│   └── source           
│       └── scraping.traitement py
└── tmp
    ├── files
│ └── télécharger Placez le fichier téléchargé en grattant
└── enregistre les journaux(journal de sélénium, etc.)

Cliquez ici pour plus d'informations. https://qiita.com/kamyu1201@github/items/a07c7d175c051b8ab4c0

Recommended Posts

Grattez automatiquement le site reCAPTCHA tous les jours (1/7: construction de l'environnement python)
Grattez automatiquement le site reCAPTCHA tous les jours (2/7: Scraping)
Grattez automatiquement le site reCAPTCHA quotidiennement (6/7: conteneurisation)
Grattez automatiquement le site reCAPTCHA quotidiennement (5/7: 2captcha)
Grattez automatiquement le site reCAPTCHA quotidiennement (4/7: traitement des fichiers S3)
Grattez automatiquement le site reCAPTCHA quotidiennement (3/7: traitement des fichiers xls)
Publication automatique du site Web de conception de site Gary avec python + sélénium (1) Construction d'environnement
Construction de l'environnement de python2 & 3 (OSX)
Construction d'environnement de python et opencv
Construire un environnement pour python3.8 sur Mac
Construction d'environnement (python)
construction d'environnement python
Python - Construction de l'environnement
Construction de l'environnement Python
Python grattage Extraire l'environnement de course du site de courses de chevaux
Installation de Python 3 et Flask [Résumé de la construction de l'environnement]
Construction d'environnement Poetry-virtualenv avec python de centos-sclo-rh ~ Notes
Unification de l'environnement Python
Principes de base du grattage Python
construction d'environnement python homebrew
Construction de l'environnement de développement Python
Construction de l'environnement de développement python2.7
Construction de l'environnement Python @ Win7
L'édition définitive du grattage python! (Site cible: grande caméra)
Création d'un environnement de développement local Python, partie 2 (pyenv-virtualenv, utilisation de pip)
Mise à jour automatique du module Python
Construction de l'environnement Python (Windows10 + Emacs)
Construction de l'environnement CI ~ Édition Python ~
[Memo] Construction de l'environnement cygwin
Construction de l'environnement Python pour Mac
Procédure de construction de l'environnement python Anaconda3
Construction de l'environnement Python3 (pour les débutants)
Construction d'environnement Python et TensorFlow
Construire un environnement Python sous un environnement Windows 7
[MEMO] [Construction de l'environnement de développement] Python
Obtenez les performances passées des coureurs du site de courses de chevaux de grattage Python
Création d'un environnement de développement local Python Partie 1 (installation de pyenv, pyenv-virtualenv, pip)
Commencez avec Python! ~ ① Construction de l'environnement ~
Construction de l'environnement Anaconda Python sous Windows 10
Début de l'auto-construction OS 1. Construction de l'environnement
Construction d'un environnement d'apprentissage amélioré Python + Unity
J'ai vérifié la construction de l'environnement Mac Python
Mémo de construction de l'environnement Python sur Mac
Construction d'environnement Python (pyenv, anaconda, tensorflow)
[Python3] Construction de l'environnement de développement << Édition Windows >>
Construction de l'environnement de développement Python sur macOS
Construction d'environnement Python (pyenv + poetry + pipx)
Construction de l'environnement Python3 avec pyenv-virtualenv (CentOS 7.3)
Construction de l'environnement Python3 TensorFlow pour Mac
Mémo de construction de l'environnement de développement Emacs Python
Construction de l'environnement pytorch @ python3.8 avec pipenv
[docker] Construction de l'environnement python3.5 + numpy + matplotlib
Créer un environnement pour "Tello_Video" sur Ubuntu
Construction de l'environnement Python3.6 (à l'aide de l'environnement Win Anaconda)
Construction d'environnements OpenCV3 et Python3 sur Ubuntu
Création d'un environnement pour Flask / MySql / Apache / mod_wsgi / virtualenv avec Redhat7 (Python2.7) Novembre 2020