📜  Scrapy-命令行工具

📅  最后修改于: 2020-10-31 14:31:25             🧑  作者: Mango


描述

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工具控制项目并对其进行管理,还可以使用以下命令创建新的Spider-

scrapy genspider mydomain mydomain.com

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

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

scrapy -h

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

  • 提取-它使用Scrapy下载程序提取URL。

  • runtimepider-用于运行自包含的Spider,而无需创建项目。

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

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

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

  • 版本-显示Scrapy版本。

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

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

  • crawl-用于使用爬虫爬网数据。

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

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

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

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

  • 板凳-这是用于运行快速基准测试(基准讲述如何的页面中的数量可以每分钟通过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命令。