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.