Scrapy 简明教程

Scrapy - Command Line Tools

Description

Scrapy 命令行工具用于控制 Scrapy,通常称为 'Scrapy tool' 。它包括针对各个对象的一组参数和选项的命令。

Configuration Settings

Scrapy 会在 scrapy.cfg 文件中查找配置设定。以下是几个位置 −

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

  2. 全局设定的 ~/.config/scrapy.cfg($XDG_CONFIG_HOME)和 ~/.scrapy.cfg($HOME)

  3. 您可以在项目根目录内找到 scrapy.cfg。

Scrapy 还可以使用以下环境变量进行配置 −

  1. SCRAPY_SETTINGS_MODULE

  2. SCRAPY_PROJECT

  3. SCRAPY_PYTHON_SHELL

Default Structure Scrapy Project

以下结构展示了 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]

Using Scrapy Tool

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

Creating a Project

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

scrapy startproject project_name

这会创建名为 project_name 的项目目录。然后,使用以下命令转到新创建的项目 −

cd  project_name

Controlling Projects

您可以使用 Scrapy 工具控制项目和管理它们,还可以使用以下命令创建新的爬虫 −

scrapy genspider mydomain mydomain.com

crawl 等命令必须在 Scrapy 项目内使用。您将在下一部分中了解哪些命令必须在 Scrapy 项目内运行。

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

scrapy -h

当您运行以下命令时,Scrapy 将显示可用命令的列表,如下所示 −

  1. fetch − 使用 Scrapy 下载器获取 URL。

  2. runspider − 用于在不创建项目的情况下运行独立的爬虫。

  3. settings − 指定项目设定值。

  4. shell − 是用于给定 URL 的交互式抓取模块。

  5. startproject − 它创建一个新的 Scrapy 项目。

  6. version − 它显示 Scrapy 版本。

  7. view − 它使用 Scrapy 下载器获取 URL,并在浏览器中显示内容。

你可以获得一些与项目相关的命令,如下所示−

  1. crawl − 它用于使用爬虫抓取数据。

  2. check − 它检查抓取命令返回的项目。

  3. list − 它显示项目中现有的可用爬虫列表。

  4. edit − 您可以使用编辑器编辑爬虫。

  5. parse − 它使用爬虫解析给定的 URL。

  6. bench − 它用于运行快速基准测试(基准值指出 Scrapy 每分钟可以爬取多少页面)。

Custom Project Commands

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

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 命令。