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 目录的项目。接下来,使用以下命令转到新创建的项目-
控制项目
您可以使用 Scrapy 工具控制和管理项目,还可以使用以下命令创建新爬虫-
scrapy genspider mydomain mydomain.com
爬虫等命令必须在Scrapy项目内部使用。在接下来的部分中,您将了解哪些命令必须在 Scrapy 项目中运行。
Scrapy 包含一些内置命令,可用于您的项目。要查看可用命令列表,请使用以下命令-
当您运行以下命令时,Scrapy 将显示列出的可用命令列表-
fetch-它使用 Scrapy 下载器获取 URL。
runspider-用于在不创建项目的情况下运行自包含的爬虫。
settings-指定项目设置值。
shell-它是给定 URL 的交互式抓取模块。
startproject-它创建一个新的 Scrapy 项目。
version-显示 Scrapy 版本。
view-它使用 Scrapy 下载器获取 URL 并在浏览器中显示内容。
您可以列出一些与项目相关的命令-
crawl-用于使用爬虫抓取数据。
check-它检查爬行命令返回的项目。
list-显示项目中可用爬虫的列表。
edit-您可以使用编辑器编辑爬虫。
parse-它使用爬虫解析给定的 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命令。