描述
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 fileproject_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将显示列出的可用命令列表 :
获取 : 它使用Scrapy下载程序获取URL.
runspider : 它用于在不创建项目的情况下运行自包含蜘蛛.
设置 : 它指定项目设置值.
shell : 它是给定URL的交互式抓取模块.
startproject : 它创建了一个新的Scrapy项目.
版本 : 它显示Scrapy版本.
view : 它使用Scrapy下载程序获取URL并在浏览器中显示内容.
您可以将一些与项目相关的命令列为 :
抓取 : 它用于使用蜘蛛抓取数据.
检查 : 它会检查已爬网命令返回的项目.
list : 它显示项目中可用的蜘蛛列表.
编辑 : 您可以使用编辑器编辑蜘蛛.
解析 : 它用蜘蛛解析给定的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', ], }, )
以上代码添加 cmd_demo setup.py 文件中的命令.