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 命令。