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将显示列出的可用命令列表 :

  • 获取 : 它使用Scrapy下载程序获取URL.

  • runspider : 它用于在不创建项目的情况下运行自包含蜘蛛.

  • 设置 : 它指定项目设置值.

  • shell : 它是给定URL的交互式抓取模块.

  • startproject : 它创建了一个新的Scrapy项目.

  • 版本 : 它显示Scrapy版本.

  • view : 它使用Scrapy下载程序获取URL并在浏览器中显示内容.

您可以将一些与项目相关的命令列为 :

  • 抓取 : 它用于使用蜘蛛抓取数据.

  • 检查 : 它会检查已爬网命令返回的项目.

  • list : 它显示项目中可用的蜘蛛列表.

  • 编辑 : 您可以使用编辑器编辑蜘蛛.

  • 解析 : 它用蜘蛛解析给定的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', 
      ], 
   }, 
)

以上代码添加 cmd_demo setup.py 文件中的命令.