Web Scraping für Anfänger in Python (4) -1

Dieses Mal möchten wir das Scraping-Programm von previous in die Cloud stellen und automatisch ausführen. Stellen Sie jedoch zuerst das Test-PGM in die Cloud und lassen Sie es normal funktionieren. Ich werde es auf diesen Punkt bringen.

Roadmap zum Erlernen des Web Scraping in Python

(1) Schaffen Sie das Zielmaterial vorerst erfolgreich vor Ort ab. (2) Verknüpfen Sie die Ergebnisse von lokal abgekratzt mit einer Google-Tabelle. (3) cron wird automatisch lokal ausgeführt. (4) Fordern Sie die kostenlose automatische Ausführung auf dem Cloud-Server heraus. (Google Compute Engine) (4) -1 Legen Sie das Test-PGM in die Cloud und führen Sie es normal auf CloudShell aus. ← Jetzt hier </ font> (4) -2 Fügen Sie das Scraping-PGM zum Repository hinzu und führen Sie es normal in CloudShell aus. (4) -3 Erstellen Sie eine VM-Instanz von ComputeEngine und führen Sie das Scraping automatisch aus. (5) Fordern Sie die kostenlose automatische Ausführung ohne Server in der Cloud heraus. (Vielleicht Cloud-Funktionen + Cloud Scheduler)

Schritte zum Aufheben von Ressourcen zu GCP

(1) Erstellen Sie ein Git-Repository in GCP mit git (GitHub-Konto erforderlich) (2) Erstellen Sie lokal einen Klon (3) Fügen Sie das Programm, das Sie in GCP hochladen möchten, zum Index im lokalen Repository hinzu und schreiben Sie es fest (4) Zum Master auf GCP drücken

(1) Erstellen Sie mit git ein Git-Repository in GCP

Wenn Sie das Gcloud SDK nicht installiert haben, installieren Sie es. Stellen Sie sicher, dass der Befehl gcloudl für das gewünschte Projekt festgelegt ist. (Legen Sie für ein neues Projekt das Projekt mit dem Befehl gcloud init fest.)

zsh


16:03:04 [~] % gcloud config list
[core]
account = [email protected]
disable_usage_reporting = False
project = my-hoge-app

Your active configuration is: [default]

Erstellen Sie ein neues Repository in Cloud Source Repositories.

zsh


16:41:59 [~] % 
16:42:00 [~] % gcloud source repos create gce-cron-test
Created [gce-cron-test].
WARNING: You may be billed for this repository. See https://cloud.google.com/source-repositories/docs/pricing for details.

So wird im Zielprojekt ein leeres Repository erstellt. スクリーンショット 2020-09-24 21.47.24.png

(2) Erstellen Sie lokal einen Klon

Erstellen Sie einen Klon des Repositorys, das Sie lokal in Cloud Source Repositories erstellt haben.

zsh


16:44:10 [~] % 
16:44:10 [~] % gcloud source repos clone gce-cron-test
Cloning into '/Users/hoge/gce-cron-test'...
warning: You appear to have cloned an empty repository.
Project [my-hoge-app] repository [gce-cron-test] was cloned to [/Users/hoge/gce-cron-test].

Der Status, in dem die py-Datei im erstellten lokalen Repository gespeichert ist. (Sie können sehen, dass es sich um ein Git-Repository handelt.)

zsh


16:46:15 [~] % 
16:46:15 [~] % cd gce-cron-test
16:46:44 [~/gce-cron-test] % ls -la
total 8
drwxr-xr-x   4 hoge  staff   128  9 23 16:45 .
drwxr-xr-x+ 45 hoge  staff  1440  9 23 16:45 ..
drwxr-xr-x   9 hoge  staff   288  9 23 16:45 .git
-rw-r--r--   1 hoge  staff   146  9 21 15:29 cron-test.py

(3) Fügen Sie das Programm, das Sie in GCP hochladen möchten, zum Index im lokalen Repository hinzu und schreiben Sie es fest

Fügen Sie die Datei mit dem Befehl git add zum Index hinzu Übertragen Sie mit dem Befehl git commit in das lokale Repository.

zsh


16:47:21 [~/gce-cron-test] % 
16:47:21 [~/gce-cron-test] % git add .
16:48:03 [~/gce-cron-test] % 
16:48:04 [~/gce-cron-test] % git commit -m "Add cron-test to Cloud Source Repositories"
[master (root-commit) 938ea70] Add cron-test to Cloud Source Repositories
 1 file changed, 5 insertions(+)
 create mode 100644 cron-test.py

(4) Zum Master auf GCP drücken

Push to Master (Cloud Source Repositories).

zsh


16:50:15 [~/gce-cron-test] % 
16:50:15 [~/gce-cron-test] % git push origin master
Enumerating objects: 3, done.
Counting objects: 100% (3/3), done.
Delta compression using up to 4 threads
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 349 bytes | 116.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://source.developers.google.com/p/my-hoge-app/r/gce-cron-test
 * [new branch]      master -> master

Sie können sehen, dass Sie zusammen mit der Festschreibungsnachricht auf Master drücken konnten. スクリーンショット 2020-09-24 21.30.53.png

Bestätigung des Betriebs mit Cloud Shell

Testen wir es auf Cloud Shell auf GCP.

Wählen Sie das gewünschte Projekt aus und starten Sie Cloud Shell. スクリーンショット 2020-09-25 16.53.01.png

Das Terminal wird gestartet. スクリーンショット 2020-09-25 16.53.41.png

Klonen Sie das Git-Repository vom Master wie lokal.

bash


cloudshell:09/25/20 02:59:00 ~ $ gcloud source repos clone gce-cron-test
Cloning into '/home/hoge/gce-cron-test'...
remote: Total 3 (delta 0), reused 3 (delta 0)
Unpacking objects: 100% (3/3), done.
Project [my-xxx-app] repository [gce-cron-test] was cloned to [/home/hoge/gce-cron-test].

Es wurde geklont.

bash


cloudshell:09/25/20 03:01:49 ~ $ cd gce-cron-test
cloudshell:09/25/20 03:02:09 ~/gce-cron-test $ ls -la
total 20
drwxr-xr-x  3 hoge hoge 4096 Sep 23 10:59 .
drwxr-xr-x 13 hoge rvm  4096 Sep 23 11:18 ..
-rw-r--r--  1 hoge hoge  146 Sep 23 09:03 cron-test.py
drwxr-xr-x  8 hoge hoge 4096 Sep 23 09:03 .git

Überprüfen Sie den Pfad und die Version von Python. 3.8.5 ist in dieser Umgebung mit pyenv vorinstalliert.

bash


cloudshell:09/25/20 03:02:21 ~/gce-cron-test $ which python
/home/hoge/.pyenv/shims/python
cloudshell:09/25/20 03:02:42 ~/gce-cron-test $ python -V
Python 3.8.5

Wie unten gezeigt, funktioniert es normalerweise unter CloudShell.

bash


cloudshell:09/25/20 03:02:50 ~/gce-cron-test $ python cron-test.py
2020/09/25 03:03:11 cron funktioniert!
cloudshell:09/25/20 03:03:12 ~/gce-cron-test $

Crontab funktionierte jedoch nicht. Die Cloud Shell-Umgebung scheint eine Umgebung zu sein, die nur interaktive interaktive Befehle akzeptiert. .. .. Nächstes Mal werde ich das Scraping-PGM zum Repository hinzufügen und es normal in CloudShell ausführen.

Bonus: Über Cloud Shell

CloudShell ist eine IDE-Umgebung, die in der Google Cloud verwendet werden kann, eine Art virtuelle VM-Umgebung mit einer 5-GB-Festplatte und ein Theia-basierter Code-Editor.

Sie können versteckte Dateien auch mit einem Editor bearbeiten

bash


$ cloudshell edit $HOME/.bashrc

Sie können es auch herunterladen.

bash


$ cloudshell download $HOME/.bashrc

[CloudShell] https://cloud.google.com/shell/?hl=ja

Recommended Posts

Web Scraping für Anfänger in Python (1)
Web Scraping für Anfänger in Python (4) -1
Web Scraping für Anfänger in Python (1) Verbesserte Version
Web-Scraping für Anfänger mit Python (4) --2 Scraping auf Cloud Shell
[Für Anfänger] Versuchen Sie Web Scraping mit Python
WEB-Scraping mit Python (für persönliche Notizen)
Python Lehrbuch für Anfänger
OpenCV für Python-Anfänger
Web Scraping mit Python + JupyterLab
Lernablauf für Python-Anfänger
Python #Funktion 2 für Super-Anfänger
Web Scraping mit Selenium (Python)
Grundlegende Python-Grammatik für Anfänger
100 Pandas klopfen für Python-Anfänger
Python #Funktion 1 für Super-Anfänger
[Python + Selen] Tipps zum Scraping
Web Scraping Anfänger mit Python
Datenanalyse zur Verbesserung von POG 1 ~ Web Scraping mit Python ~
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden 4 Verwenden Sie die GUI
Python-Übungen für Anfänger # 2 [für Anweisung / while-Anweisung]
Web-Lehrmaterialien zum Erlernen von Python
Python für Super-Anfänger Super-Anfänger Python # Wörterbuch Typ 1
Web Scraping mit Python Erster Schritt
Ich habe versucht, WebScraping mit Python.
Was ist Schaben? [Zusammenfassung für Anfänger]
Verwenden Sie als nächstes Python (Flask) für Heroku!
Python #index für Super-Anfänger, Slices
<Für Anfänger> Python-Bibliothek <Für maschinelles Lernen>
Python #len Funktion für Super-Anfänger
[Für Anfänger] Web-Scraping mit Python "Greifen Sie auf die URL auf der Seite zu, um den Inhalt abzurufen."
Tipps für Python-Anfänger, um das Scikit-Image-Beispiel für sich selbst zu verwenden
Python #Hello World für Super-Anfänger
Web Scraping
Python für Super-Anfänger Super-Anfänger Python # Wörterbuch Typ 2
INSERT in MySQL mit Python [Für Anfänger]
[Python] Protokoll des Studientreffens für Anfänger (7/15)
Verwenden Sie DeepL mit Python (für die Artikelübersetzung)
[Anfänger] Leicht verständliches Python-Web-Scraping mit Google Colaboratory
Erste Schritte mit Python Web Scraping Practice
[Persönlicher Hinweis] Scraping von Webseiten in Python3
[Python] Organisieren der Verwendung für Anweisungen
Pferderennseite Web Scraping mit Python
Erste Schritte mit Python Web Scraping Practice
[Python] Webanwendungsdesign für maschinelles Lernen
[Python] Bilder mit OpenCV lesen (für Anfänger)
Verwendung von "deque" für Python-Daten
WebApi-Erstellung mit Python (CRUD-Erstellung) Für Anfänger
Verwenden Sie pathlib in Maya (Python2.7), um sich auf das kommende Python3.7 vorzubereiten
Üben des Web-Scrapings mit Python und Selen
Einfaches Web-Scraping mit Python und Ruby
Atcoder-Standardeingabesatz für Anfänger (Python)
Vorbereitung zum Schaben mit Python [Schokoladengeschmack]
Ein Lehrbuch für Anfänger von Python-Anfängern
2016-10-30 sonst für Python3> für:
Python [für mich]
Python-Scraping-Memo
Python Scraping get_ranker_categories