Scrapy命令行工具


描述

Scrapy命令行工具用于控制Scrapy,Scrapy通常被称为 “Scrapy工具” 。它包含具有一组参数和选项的各种对象的命令。

配置设置

Scrapy会在 scrapy.cfg 文件中找到配置设置。以下是几个地点 -

  • C:\ scrapy(项目文件夹)\ scrapy.cfg在系统中

  • 〜/ .config / scrapy.cfg($ XDG_CONFIG_HOME)和〜/ .scrapy.cfg($ HOME)进行全局设置

  • 您可以在项目的根目录中找到scrapy.cfg。

Scrapy也可以使用以下环境变量进行配置 -

  • SCRAPY_SETTINGS_MODULE
  • SCRAPY_PROJECT
  • SCRAPY_PYTHON_SHELL

默认结构Scrapy项目

以下结构显示了Scrapy项目的默认文件结构。

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
      . . .

scrapy.cfg 文件是一个项目的根目录,其中包括与项目设置的项目名称。

例如 -

[settings]
default = [name of the project].settings  

[deploy]
#url = http://localhost:6800/
project = [name of the project]

使用Scrapy工具

Scrapy工具提供了一些用法和可用的命令,如下所示 -

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

创建一个项目

您可以使用以下命令在Scrapy中创建项目 -

scrapy startproject project_name

这将创建名为 project_name 目录的项目。接下来,使用以下命令转到新创建的项目 -

cd  project_name

控制项目

您可以使用Scrapy工具控制项目并管理它们,并使用以下命令创建新的蜘蛛,

scrapy genspider mydomain mydomain.com

Scrapy项目中必须使用诸如抓取等命令。您将会知道哪些命令必须在下一节的Scrapy项目中运行。

Scrapy包含一些内置命令,可用于您的项目。要查看可用命令的列表,请使用以下命令 -

scrapy -h

当您运行以下命令时,Scrapy将显示列出的可用命令列表 -

  • fetch - 它使用Scrapy下载器获取URL。

  • runspider - 它用于运行独立的蜘蛛而不创建项目。

  • settings - 它指定项目设置值。

  • shell - 它是给定URL的交互式抓取模块。

  • startproject - 它创建一个新的Scrapy项目。

  • version - 它显示Scrapy版本。

  • view - 它使用Scrapy下载器获取URL并在浏览器中显示内容。

您可以列出一些与项目相关的命令 -

  • crawl - 它用于抓取使用蜘蛛的数据。

  • check - 检查爬行命令返回的项目。

  • list - 它显示项目中可用蜘蛛的列表。

  • edit - 您可以使用编辑器编辑蜘蛛。

  • parse - 它解析蜘蛛给定的URL。

  • bench - 它用于运行快速基准测试(Benchmark指出Scrapy每分钟可以抓取多少页面)。

自定义项目命令

您可以在Scrapy项目中使用 COMMANDS_MODULE 设置构建自定义项目命令。它在设置中包含一个默认的空字符串。您可以添加以下自定义命令

COMMANDS_MODULE = 'mycmd.commands'

可以使用setup.py文件中的scrapy.commands部分添加Scrapy命令,如下所示 -

from setuptools import setup, find_packages  

setup(name = 'scrapy-module_demo',
   entry_points = {
      'scrapy.commands': [
         'cmd_demo = my_module.commands:CmdDemo',
      ],
   },
)

上面的代码在 setup.py 文件中添加了 cmd_demo 命令。 **