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