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 = https://127.0.0.1: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

诸如 crawl 等命令必须在 Scrapy 项目内部使用。在接下来的部分中,您将了解哪些命令必须在 Scrapy 项目内部运行。

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

scrapy -h

运行以下命令时,Scrapy 将显示可用命令列表,如下所示:

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

  • runspider - 用于运行自包含的爬虫,无需创建项目。

  • settings - 指定项目设置值。

  • shell - 针对给定 URL 的交互式抓取模块。

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

  • version - 显示 Scrapy 版本。

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

您还可以使用一些与项目相关的命令,如下所示:

  • crawl - 用于使用爬虫抓取数据。

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

  • list - 显示项目中所有可用爬虫的列表。

  • edit - 您可以使用编辑器编辑爬虫。

  • parse - 使用爬虫解析给定的 URL。

  • bench - 用于运行快速基准测试(基准测试说明 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命令。

广告