Kratzen Sie die reCAPTCHA-Site jeden Tag automatisch ab (1/7: Aufbau der Python-Umgebung)

Ich nahm an einem Projekt zur Verbesserung des Betriebs durch RPA teil ... Das RPA-Tool war ** zu teuer (7,2 Millionen Yen / Jahr) **, also habe ich es durch Python ersetzt. Es ist eine Zusammenfassung der damaligen Arbeit.

Bedarf

Überblick

Schwierigkeit

--ReCAPTCHA wird an dieser bestimmten Site installiert, wenn Sie sich anmelden (!) --AnglarJS wird auf dieser bestimmten Site verwendet

Technologieauswahl

Als ich nur die Schlussfolgerung schrieb (obwohl ich viel Versuch und Irrtum gemacht habe), wurde es wie folgt. Es war ziemlich schwierig ...

Story

Wir haben es nach folgendem Ablauf entwickelt.

  1. Erstellen Sie eine Python-Umgebung
  2. Erstellen Sie einen Site-Scraping-Mechanismus
  3. Verarbeiten Sie die heruntergeladene Datei (xls), um das Endprodukt (csv) zu erstellen.
  4. Erstellen Sie einen Dateidownload von S3 / Datei-Upload nach S3 5.2 Captcha implementiert
  5. Lassen Sie es in einem Docker-Container starten
  6. Registrieren Sie sich für den AWS-Stapel

Ich denke, ich werde Qiita auf jeder Seite teilen.

1. Umweltbau

Erstellen Sie zunächst eine normale Python-Umgebung!

Dieses Mal werden wir python3.6.3 verwenden. Das Terminal ist die Standard-Bash. Da ich in Zukunft mehrere Versionen von Python verwenden möchte, werde ich eine dedizierte Python-Umgebung mit "pyenv" und "pyenv-virtualenv" erstellen.

Installieren Sie 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

Installieren Sie dann python3.6

pyenv install 3.6.3

Installation von pyenv-virtualenv

Ich bin mir nicht sicher, ob es gebraucht wird, aber jemand sagte, es sei gut, also werde ich auch pyenv-virtualenv einschließen.

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

Und erstellen Sie eine virtuelle Umgebung für diese Zeit.

pyenv virtualenv 3.6.3 myproject

Ein Verzeichnis erstellen

Bereiten Sie das Verzeichnis vor, das für dieses Projekt verwendet werden soll. (Obwohl ich dies tatsächlich durch Versuch und Irrtum geändert habe)

mkdir myproject
cd myproject
pyenv local myproject

Bereiten Sie unter diesem "myproject" Ordner und Dateien wie unten gezeigt vor.

├── app
│ ├ Treiber Selen Treiber platzieren
│   └── source           
│       └── scraping.py Verarbeitung
└── tmp
    ├── files
│ └ download Laden Sie die durch Scraping heruntergeladene Datei ab
└── protokolliert Protokolle(Selen Log etc.)

Klicken Sie hier für weitere Informationen. https://qiita.com/kamyu1201@github/items/a07c7d175c051b8ab4c0

Recommended Posts

Kratzen Sie die reCAPTCHA-Site jeden Tag automatisch ab (1/7: Aufbau der Python-Umgebung)
Jeden Tag automatisch die reCAPTCHA-Site abkratzen (2/7: Scraping)
Die reCAPTCHA-Site wird täglich automatisch abgekratzt (6/7: Containerisierung)
Täglich automatisch die reCAPTCHA-Site abkratzen (5/7: 2captcha)
Automatische tägliche Überprüfung der reCAPTCHA-Site (4/7: S3-Dateiverarbeitung)
Automatische tägliche Überprüfung der reCAPTCHA-Site (3/7: xls-Dateiverarbeitung)
Automatische Veröffentlichung einer Webdesign-Website mit Python + Selen (1) Umgebungskonstruktion
Umgebungskonstruktion von Python2 & 3 (OSX)
Umgebungskonstruktion von Python und OpenCV
Erstellen einer Umgebung für Python3.8 auf einem Mac
Umgebungskonstruktion (Python)
Python-Umgebungskonstruktion
Python - Umgebungskonstruktion
Aufbau einer Python-Umgebung
Python-Scraping Extrahieren Sie die Rennumgebung von der Pferderennseite
Installation von Python 3 und Flask [Zusammenfassung der Umgebungskonstruktion]
Poetry-Virtualenv-Umgebungskonstruktion mit Centos-Sclo-Rh-Python ~ Hinweise
Vereinheitlichung der Python-Umgebung
Grundlagen der Python-Scraping-Grundlagen
Homebrew Python Umgebung Konstruktion
Aufbau einer Python-Entwicklungsumgebung
python2.7 Konstruktion der Entwicklungsumgebung
Python-Umgebungskonstruktion @ Win7
Die endgültige Ausgabe von Python Scraping! (Zielort: Große Kamera)
Erstellen einer lokalen Python-Entwicklungsumgebung Teil 2 (pyenv-virtualenv, Pip-Nutzung)
Automatisches Update des Python-Moduls
Aufbau einer Python-Umgebung (Windows 10 + Emacs)
CI-Umgebungskonstruktion ~ Python Edition ~
[Memo] Bau einer Cygwin-Umgebung
Aufbau einer Python-Umgebung für Mac
Konstruktionsverfahren für die Anaconda3-Python-Umgebung
Python3-Umgebungskonstruktion (für Anfänger)
Python-Umgebungskonstruktion und TensorFlow
Erstellen einer Python-Umgebung unter Windows 7
[MEMO] [Entwicklung der Entwicklungsumgebung] Python
Holen Sie sich vergangene Leistung von Läufern von Python Scraping Pferderennen Website
Erstellen einer lokalen Python-Entwicklungsumgebung Teil 1 (pyenv, pyenv-virtualenv, pip-Installation)
Beginnen Sie mit Python! ~ ① Umweltbau ~
Aufbau einer Anaconda-Python-Umgebung unter Windows 10
Beginn des selbst erstellten Betriebssystems 1. Aufbau der Umgebung
Python + Unity Verbesserte Erstellung von Lernumgebungen
Ich habe die Konstruktion der Mac Python-Umgebung überprüft
Konstruktionsnotiz für die Python-Umgebung auf dem Mac
Python-Umgebungskonstruktion (Pyenv, Anaconda, Tensorflow)
[Python3] Aufbau der Entwicklungsumgebung << Windows Edition >>
Aufbau einer Python-Entwicklungsumgebung unter macOS
Python-Umgebungskonstruktion (Pyenv + Poesie + Pipx)
Python3-Umgebungskonstruktion mit pyenv-virtualenv (CentOS 7.3)
Python3 TensorFlow für Mac-Umgebungskonstruktion
Konstruktionsnotiz für die Emacs Python-Entwicklungsumgebung
pytorch @ python3.8 Umgebungskonstruktion mit pipenv
[Docker] Python3.5 + Numpy + Matplotlib-Umgebungskonstruktion
Erstellen einer Umgebung für "Tello_Video" unter Ubuntu
Python3.6-Umgebungskonstruktion (unter Verwendung der Win-Umgebung Anaconda)
OpenCV3 & Python3 Umgebungskonstruktion unter Ubuntu
Erstellen einer Umgebung für Flask / MySql / Apache / mod_wsgi / virtualenv mit Redhat7 (Python2.7) November 2020