Scrapy命令行工具 Scrapy环境 Scrapy蜘蛛 描述 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将显示列出的可用命令列表 - fetch - 它使用Scrapy下载器获取URL。 runspider - 它用于运行独立的蜘蛛而不创建项目。 settings - 它指定项目设置值。 shell - 它是给定URL的交互式抓取模块。 startproject - 它创建一个新的Scrapy项目。 version - 它显示Scrapy版本。 view - 它使用Scrapy下载器获取URL并在浏览器中显示内容。 您可以列出一些与项目相关的命令 - crawl - 它用于抓取使用蜘蛛的数据。 check - 检查爬行命令返回的项目。 list - 它显示项目中可用蜘蛛的列表。 edit - 您可以使用编辑器编辑蜘蛛。 parse - 它解析蜘蛛给定的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', ], }, ) 上面的代码在 setup.py 文件中添加了 cmd_demo 命令。 ** Scrapy环境 Scrapy蜘蛛