Scrapy - Befehlszeilentools
Beschreibung
Das Scrapy-Befehlszeilentool wird zur Steuerung von Scrapy verwendet, das häufig als bezeichnet wird 'Scrapy tool'. Es enthält die Befehle für verschiedene Objekte mit einer Gruppe von Argumenten und Optionen.
Konfigurationseinstellungen
Scrapy finden Konfigurationseinstellungen in der scrapy.cfgDatei. Es folgen einige Standorte -
C: \ Scrapy (Projektordner) \ Scrapy.cfg im System
~ / .config / Scrapy.cfg ($ XDG_CONFIG_HOME) und ~ / .scrapy.cfg ($ HOME) für globale Einstellungen
Sie finden die Dateirapy.cfg im Stammverzeichnis des Projekts.
Scrapy kann auch mithilfe der folgenden Umgebungsvariablen konfiguriert werden:
- SCRAPY_SETTINGS_MODULE
- SCRAPY_PROJECT
- SCRAPY_PYTHON_SHELL
Scrapy-Projekt mit Standardstruktur
Die folgende Struktur zeigt die Standarddateistruktur des Scrapy-Projekts.
scrapy.cfg - Deploy the configuration file
project_name/ - Name of the project
_init_.py
items.py - It is project's items file
pipelines.py - It is project's pipelines file
settings.py - It is project's settings file
spiders - It is the spiders directory
_init_.py
spider_name.py
. . .
Das scrapy.cfgDatei ist ein Projektstammverzeichnis, das den Projektnamen mit den Projekteinstellungen enthält. Zum Beispiel -
[settings]
default = [name of the project].settings
[deploy]
#url = http://localhost:6800/
project = [name of the project]
Scrapy Tool verwenden
Das Scrapy-Tool bietet einige Verwendungsmöglichkeiten und verfügbare Befehle wie folgt:
Scrapy X.Y - no active project
Usage:
scrapy [options] [arguments]
Available commands:
crawl It puts spider (handle the URL) to work for crawling data
fetch It fetches the response from the given URL
Ein Projekt erstellen
Mit dem folgenden Befehl können Sie das Projekt in Scrapy erstellen:
scrapy startproject project_name
Dadurch wird das aufgerufene Projekt erstellt project_nameVerzeichnis. Wechseln Sie als Nächstes mit dem folgenden Befehl zum neu erstellten Projekt:
cd project_name
Projekte steuern
Sie können das Projekt steuern und mit dem Scrapy-Tool verwalten sowie die neue Spinne mit dem folgenden Befehl erstellen:
scrapy genspider mydomain mydomain.com
Die Befehle wie crawlen usw. müssen im Scrapy-Projekt verwendet werden. Im nächsten Abschnitt erfahren Sie, welche Befehle im Scrapy-Projekt ausgeführt werden müssen.
Scrapy enthält einige integrierte Befehle, die für Ihr Projekt verwendet werden können. Verwenden Sie den folgenden Befehl, um die Liste der verfügbaren Befehle anzuzeigen:
scrapy -h
Wenn Sie den folgenden Befehl ausführen, zeigt Scrapy die Liste der verfügbaren Befehle wie folgt an:
fetch - Die URL wird mit dem Scrapy-Downloader abgerufen.
runspider - Es wird verwendet, um eine in sich geschlossene Spinne auszuführen, ohne ein Projekt zu erstellen.
settings - Gibt den Projekteinstellungswert an.
shell - Es ist ein interaktives Scraping-Modul für die angegebene URL.
startproject - Es wird ein neues Scrapy-Projekt erstellt.
version - Es zeigt die Scrapy-Version an.
view - Es ruft die URL mit dem Scrapy-Downloader ab und zeigt den Inhalt in einem Browser an.
Sie können einige projektbezogene Befehle wie folgt haben -
crawl - Es wird verwendet, um Daten mit der Spinne zu crawlen.
check - Es überprüft die vom Crawler-Befehl zurückgegebenen Elemente.
list - Es zeigt die Liste der verfügbaren Spinnen an, die im Projekt vorhanden sind.
edit - Sie können die Spinnen mit dem Editor bearbeiten.
parse - Es analysiert die angegebene URL mit der Spinne.
bench - Es wird verwendet, um einen schnellen Benchmark-Test durchzuführen (Benchmark gibt an, wie viele Seiten von Scrapy pro Minute gecrawlt werden können).
Benutzerdefinierte Projektbefehle
Sie können mit einen benutzerdefinierten Projektbefehl erstellen COMMANDS_MODULEEinstellung im Scrapy-Projekt. Die Einstellung enthält eine leere Standardzeichenfolge. Sie können den folgenden benutzerdefinierten Befehl hinzufügen:
COMMANDS_MODULE = 'mycmd.commands'
Scrapy-Befehle können mithilfe des Scrapy.commands-Abschnitts in der Datei setup.py wie folgt hinzugefügt werden:
from setuptools import setup, find_packages
setup(name = 'scrapy-module_demo',
entry_points = {
'scrapy.commands': [
'cmd_demo = my_module.commands:CmdDemo',
],
},
)
Der obige Code fügt hinzu cmd_demo Befehl in der setup.py Datei.