Scrapy – 命令行工具

Scrapy – 命令行工具

描述

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

配置设置

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

  • C:\scrapy(project folder)\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

诸如crawl等命令必须在Scrapy项目中使用。在接下来的章节中,你会了解到哪些命令必须在Scrapy项目中运行。

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

scrapy -h

当你运行下面的命令时,Scrapy会显示可用的命令列表,如所列-

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

  • runspider – 它用于运行独立的spider,而不需要创建一个项目。

  • settings – 它指定了项目的设置值。

  • shell – 它是一个针对给定URL的交互式搜刮模块。

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

  • version – 它显示Scrapy的版本。

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

你可以有一些与项目有关的命令,如以下所列

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

  • check – 它检查由抓取的命令返回的项目。

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

  • edit – 你可以通过使用编辑器来编辑蜘蛛。

  • parse – 它用spider解析给定的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 命令。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程