[PYTHON] Speichern Sie das Ergebnis des Crawls mit Scrapy im Google Data Store

Dies ist eine Methode zum Speichern der von Scrapy gecrawlten Informationen im Google Data Store. Zu dieser Zeit gab es einige Fallstricke, deshalb habe ich sie zusammengefasst.

Was du machen willst

[Problempunkt 1] Rund um die Autorität der Google Cloud Platform

gcloud bietet einen Auth-Befehl zur Authentifizierung. https://cloud.google.com/sdk/gcloud/reference/auth/ Sie können diesen Befehl jedoch nicht in einer Scrapy Cloud ausführen.

Authentifizieren Sie sich daher mit dem Dienstkontoschlüssel json. Sie können die JSON-Datei herunterladen, indem Sie sie auf dem folgenden Bildschirm einstellen.

Screenshot from 2017-03-14 00-50-21.png

[Fehlerpunkt 2] Geben Sie den JSON-Pfad mit der Umgebungsvariablen an

Wenn Sie so schreiben, können Sie den Crawler lokal betreiben.

pipeline.py


from google.cloud import datastore
import os
import time
from threading import Lock


class HogePipeline(object):
    def __init__(self):
        os.environ["GOOGLE_APPLICATION_CREDENTIALS"] = os.path.join(os.path.dirname(__file__), "./hogehogehoge.json")
        self.g_client = datastore.Client('hoge-project')

    def process_item(self, item, spider):
        # put 
        return item

[Problempunkt 3] Bündeln und implementieren Sie die JSON-Datei

MANIFEST.ini


include path/to/hogehogehoge.json

setup.py



from setuptools import setup, find_packages

setup(
    name         = 'project',
    version      = '1.0',
    packages     = find_packages(),
    entry_points = {'scrapy': ['settings = hoge.settings']},
    install_requires = [],
    include_package_data = True
)

Bereitstellungsbefehle

$ python setup.py bdist_egg
$ shub deploy --egg dist/project-1.0-py2.7.egg

Recommended Posts

Speichern Sie das Ergebnis des Crawls mit Scrapy im Google Data Store
Ich habe versucht, die Daten mit Zwietracht zu speichern
Speichern Sie auf Japanisch in StringProperty im Google App Engine-Datenspeicher
Versuchen Sie, Merkmale von Sensordaten mit CNN zu extrahieren
Versuchen Sie, die Höhendaten des National Land Research Institute mit Python abzubilden
Konvertieren Sie Daten mit Form (Anzahl der Daten, 1) in (Anzahl der Daten,) mit numpy.
Speichern Sie Daten zum Flashen mit STM32 Nucleo Board
Speichern Sie das Objekt in einer Datei mit pickle
Speichern Sie Suchergebnisse auf Twitter in CSV.
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
Fügen Sie mit Matplotlib Informationen am unteren Rand der Abbildung hinzu
Versuchen Sie, mit matplotlib aus den Daten von "Schedule-kun" eine Kampfaufzeichnungstabelle zu erstellen.
Versuchen Sie, den Inhalt von Word mit Golang zu erhalten
Ich habe versucht, die Laufdaten des Rennspiels (Assetto Corsa) mit Plotly zu visualisieren
Ich wollte nur die Daten des gewünschten Datums und der gewünschten Uhrzeit mit Django extrahieren
Ich habe versucht, die Punktgruppendaten-DB der Präfektur Shizuoka mit Vue + Leaflet anzuzeigen
[Einführung in das SIR-Modell] Prognostizieren Sie die Endzeit jedes Landes mit der COVID-19-Datenanpassung ♬
Ich habe versucht, die Daten des Fußballturniers der FIFA Fussball-Weltmeisterschaft Russland mit Fußball zu analysieren
Geben Sie die Bilddaten mit Flask of Python zurück und zeichnen Sie sie in das Canvas-Element von HTML
Wie man einen bestimmten Prozess am Anfang und Ende der Spinne mit Scrapy einfügt
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Versuchen Sie, COVID-19 Tokyo-Daten mit Python zu kratzen
Speichern Sie die Ausgabe von GAN nacheinander ~ Mit der Implementierung von GAN durch PyTorch ~
Mit den Daten von COVID-19 wurde ein Netzwerkdiagramm erstellt.
Ich habe versucht, mit TensorFlow den Durchschnitt mehrerer Spalten zu ermitteln
Visualisieren Sie die Ergebnisse von Entscheidungsbäumen, die mit Python scikit-learn erstellt wurden
[Teil 2] Crawlen mit Python! Klicken Sie auf die Webseite, um sich zu bewegen!
Einstellungen zum Eingeben und Debuggen des Inhalts der Bibliothek mit VS-Code
Datenanalyse basierend auf den Wahlergebnissen der Gouverneurswahl von Tokio (2020)
Wie man die Ergebnisse von FreeSurfer ~ aparc, aseg, wmparc ~ zusammenfasst
Die Geschichte eines Rubinisten, der mit Python :: Dict-Daten mit Pycall kämpft
[Homologie] Zählen Sie mit Python die Anzahl der Löcher in den Daten
Versuchen Sie, den Betrieb von Netzwerkgeräten mit Python zu automatisieren
Die Geschichte des Kopierens von Daten von S3 auf Googles TeamDrive
Speichern Sie Bilder im Web mit Python (Colab) auf einem Laufwerk.
Django Geändert, um viele Daten gleichzeitig zu speichern
[Einführung in Python] So erhalten Sie Daten mit der Funktion listdir
Holen Sie sich die Quelle der Seite unbegrenzt mit Python zu laden.
Ich habe die Daten von Raspberry Pi an GCP gesendet (kostenlos)
Verwenden Sie die Clustering-Ergebnisse erneut
Verwenden Sie Django, um Tweet-Daten zu speichern
So extrahieren Sie Funktionen von Zeitreihendaten mit PySpark Basics
Die Geschichte, dass man mit Pycharm kein Pygame spielen kann
Machen Sie sich mit der Pipeline von spaCy vertraut (wollen Sie es sein)
Ich habe versucht, die Bewässerung des Pflanzgefäßes mit Raspberry Pi zu automatisieren
So erhalten Sie die ID von Type2Tag NXP NTAG213 mit nfcpy
[Maschinelles Lernen] Überprüfen Sie die Leistung des Klassifikators anhand handgeschriebener Zeichendaten
[Einführung in StyleGAN] Ich habe mit "The Life of a Man" ♬ gespielt
Versuchen Sie, das N Queen-Problem mit SA von PyQUBO zu lösen
Ich möchte den Anfang des nächsten Monats mit Python ausgeben
Geben Sie den Inhalt von ~ .xlsx im Ordner mit Python in HTML aus
Korrespondenzanalyse von Sätzen mit COTOHA API und Speichern in Datei
Berücksichtigen Sie die Verarbeitungsgeschwindigkeit, um den Bildpuffer mit numpy.ndarray zu verschieben
Lösen des Labyrinths mit Python-Ergänzung zu Kapitel 6 der Algorithmus-Kurzreferenz-
So überwachen Sie den Ausführungsstatus von sqlldr mit dem Befehl pv
Ich habe versucht, die Größe des logischen Volumes mit LVM zu erweitern
Die stärkste Möglichkeit, MeCab und CaboCha mit Google Colab zu verwenden