[PYTHON] Wie man einen bestimmten Prozess am Anfang und Ende der Spinne mit Scrapy einfügt

Es ist eine Methode, um eine Funktion zu schreiben, die am Anfang und Ende der Spinne hakt.

Platzieren Sie den folgenden Inhalt direkt unter dem Projekt.

import scrapy

class SpiderHook(object):

    @classmethod
    def from_crawler(cls, crawler):
        ext = cls

        crawler.signals.connect(ext.spider_opened, signal=scrapy.signals.spider_opened)
        crawler.signals.connect(ext.spider_closed, signal=scrapy.signals.spider_closed)

        return ext

    def spider_opened(self, spider):
        #Verarbeitung zu Beginn der Spinne

    def spider_closed(self, spider):
        #Verarbeitung am Ende der Spinne

Schreiben Sie dann die Einstellungen zum Laden dieser Klasse in settings.py.

EXTENSIONS = {
    '<project name>.<file name>. SpiderHook': 100,
}

Referenz: https://doc.scrapy.org/en/latest/topics/extensions.html

Recommended Posts

Wie man einen bestimmten Prozess am Anfang und Ende der Spinne mit Scrapy einfügt
Geben Sie die Start- und Endpositionen der Dateien an, die in qiitap enthalten sein sollen
So starten Sie den PC jeden Morgen zu einer festgelegten Zeit und führen das Python-Programm aus
Node.js: So töten Sie Nachkommen eines Prozesses, der von child_process.fork () gestartet wurde
Teilen und Verarbeiten eines Datenrahmens mithilfe der Groupby-Funktion
[Einführung in Python] So sortieren Sie den Inhalt einer Liste effizient mit Listensortierung
So setzen Sie eine Zeilennummer am Anfang einer CSV-Datei
Versuchen Sie, nur den Kohlenstoff am Ende der Kette mit SMARTS zu reagieren
So berechnen Sie die Volatilität einer Marke
Senden Sie Google Mail am Ende des Vorgangs [Python]
Entfernen Sie eine bestimmte Zeichenfolge am Ende von Python
Wie man viele Pipelines zusammenbaut und sofort weglegt
So erhalten Sie mit Python eine Liste der Dateien im selben Verzeichnis
[Einführung in Python] So erhalten Sie den Datenindex mit der for-Anweisung
So erstellen Sie ein Untermenü mit dem Plug-In [Blender]
Aufgaben zu Beginn eines neuen Python-Projekts
Wie identifiziere ich das Element mit der geringsten Anzahl von Zeichen in einer Python-Liste?
Ein Memo darüber, wie man das schwierige Problem der Erfassung von FX mit AI überwinden kann
[Linux] [C / C ++] So ermitteln Sie den Wert der Rücksprungadresse einer Funktion und den Funktionsnamen des Aufrufers
[Ubuntu] So löschen Sie den gesamten Inhalt des Verzeichnisses
Ich habe versucht, zum Zeitpunkt der Bereitstellung mit Fabric und ChatWork Api automatisch in ChatWork zu posten
So starten Sie einen einfachen WEB-Server, der CGI von PHP und Python ausführen kann
So mischen Sie einen Teil der Python-Liste (at random.shuffle)
Holen Sie sich UNIXTIME zu Beginn des heutigen Tages mit einem Befehl
So extrahieren Sie Daten in einer bestimmten Spalte in einem bestimmten Blatt in mehreren Excel-Dateien gleichzeitig und fügen Sie die Daten in jede Spalte in einer Zeile ein
Rufen Sie die Excel-Liste rekursiv in einem bestimmten Ordner mit Python ab und schreiben Sie sie in Excel.
Erkennen Sie mit Python Objekte einer bestimmten Farbe und Größe
Eine Geschichte über den Umgang mit dem CORS-Problem
So ermitteln Sie den Skalierungskoeffizienten eines bipolaren Wavelets
Erstellen Sie ein zweidimensionales Array, indem Sie am Ende eines leeren Arrays mit numpy eine Zeile hinzufügen
So verarbeiten Sie Kamerabilder mit Teams und Zoom Verarbeitungsvolumen im Animationsstil
Wie man zeichnet, indem man die Farbe des Diagramms kontinuierlich mit matplotlib ändert und einfach viele Legenden anordnet
Eine Geschichte über die Portierung des Codes "Versuchen Sie zu verstehen, wie Linux funktioniert" nach Rust
So starten Sie die erste Projektion
So verbinden Sie den Inhalt der Liste mit einer Zeichenfolge
Ich möchte die Effizienz mit Python auch im experimentellen System verbessern. (5) Ich möchte am Ende des Experiments eine Benachrichtigung mit der Slack-API senden
Ich habe versucht, ein Skript zu erstellen, das die Tweets eines bestimmten Benutzers auf Twitter verfolgt und das veröffentlichte Bild sofort speichert
Verarbeiten Sie die mit Redshift entladene gzip-Datei mit Python of Lambda, gzipen Sie sie erneut und laden Sie sie in S3 hoch
Abfangen oder Manipulieren der SSL-Kommunikation des tatsächlichen iOS-Geräts durch einen Proxy
Erfahren Sie anhand eines einfachen Regressionsmodells den Ablauf der Bayes'schen Schätzung und die Verwendung von Pystan
[Python-Scraping] Geben Sie die URL und den Titel der Site mit einem bestimmten Schlüsselwort in eine Textdatei ein
So legen Sie eine Verknüpfung fest, um in IBus zwischen voller und halber Breite zu wechseln
Starten eines mit Jupyter Notebook erstellten Python-Programms
Verarbeiten Sie den Inhalt der Datei der Reihe nach mit einem Shell-Skript
Übersicht über das Erstellen eines Server-Sockets und das Einrichten eines Client-Sockets
Speichern Sie das Ergebnis des Crawls mit Scrapy im Google Data Store
[Python] So erzwingen Sie, dass eine Methode einer Unterklasse einen bestimmten Prozess ausführt
[Einführung in Python] So teilen Sie eine Zeichenfolge mit der Funktion split
So erhalten Sie die ID von Type2Tag NXP NTAG213 mit nfcpy
[EC2] So installieren Sie Chrome und den Inhalt jedes Befehls
So überprüfen Sie die Speichergröße einer Variablen in Python
[Python] So erhalten Sie den ersten und den letzten Tag des Monats
[Einführung in StyleGAN] Ich habe mit "The Life of a Man" ♬ gespielt
So erstellen Sie einen Befehl zum Lesen der Einstellungsdatei mit Pyramide
So erstellen Sie eine Überwachungskamera (Überwachungskamera) mit Opencv und Python
Ich habe versucht, das Entwicklungsstartverfahren von Django kurz zusammenzufassen