Wechat: yu389741| Email: gisdqy@163.com

Shop:https://www.giserdqy.com/shop

(3)Scrapy命令行工具



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

配置设置

scrapy 会找到 scrapy.cfg 文件中设置的配置。如下面提到的:
  • C:\scrapy(project folder)\scrapy.cfg 在系统中;

  • ~/.config/scrapy.cfg ($XDG_CONFIG_HOME) and ~/.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 scrapy_project
这将创建一个名为 project_name 的项目目录。接下来,进入新创建的项目,使用下面的命令:
cd  scrapy_project

控制项目

您可以控制项目,并通过使用Scrapy工具,也创造了新的蜘蛛(spider),使用下面的命令进行管理:
scrapy genspider mydomain yiibai.com
如:抓取等等的命令在 Scrapy 项目中的使用。这里所有命令在接下来 Scrapy 项目内使用运行。
Scrapy包含一些内置的命令,它可以用来为项目。要查看可用命令的列表,请使用以下命令:
scrapy -h
当运行上面的命令,Scrapy将显示如下面所列出可用命令的列表:
  • fetch: 它使用Scrapy downloader 提取的 URL。

  • runspider: 它用于而无需创建一个项目运行自行包含蜘蛛(spider)。

  • settings: 它规定了项目的设定值。

  • shell: 这是一个给定URL的一个交互式模块。

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

  • version: 它显示Scrapy版本。

  • view: 它使用Scrapy downloader 提取 URL并显示在浏览器中的内容。

一些项目相关的命令,如下:
  • crawl: 它是用来使用蜘蛛抓取数据;

  • check: 它检查项目并由 crawl 命令返回;

  • list: 它显示本项目中可用蜘蛛(spider)的列表;

  • edit: 可以通过编辑器编辑蜘蛛;

  • parse:它通过蜘蛛分析给定的URL;

  • bench: 它是用来快速运行基准测试(基准讲述每分钟可被Scrapy抓取的页面数量)。

自定义项目命令

可以在Scrapy项目中通过COMMANDS_MODULE设置构建一个自定义项目命令。
COMMANDS_MODULE = 'mycmd.commands'
Scrapy命令可以通过使用 setup.py 文件中的 scrapy.commands 部分来添加,如下所示:
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 命令。

 关注右侧公众号,随时随地查看教程
 Scrapy教程目录