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 = https://: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

諸如 crawl 等命令必須在 Scrapy 專案內部使用。在接下來的部分中,您將瞭解哪些命令必須在 Scrapy 專案內部執行。

Scrapy 包含一些內建命令,可用於您的專案。要檢視可用命令的列表,請使用以下命令:

scrapy -h

執行以下命令時,Scrapy 將顯示可用命令列表,如下所示:

  • fetch - 使用 Scrapy 下載器獲取 URL。

  • runspider - 用於執行自包含的爬蟲,無需建立專案。

  • settings - 指定專案設定值。

  • shell - 針對給定 URL 的互動式抓取模組。

  • startproject - 建立一個新的 Scrapy 專案。

  • version - 顯示 Scrapy 版本。

  • view - 使用 Scrapy 下載器獲取 URL,並在瀏覽器中顯示內容。

您還可以使用一些與專案相關的命令,如下所示:

  • crawl - 用於使用爬蟲抓取資料。

  • check - 檢查 crawl 命令返回的專案。

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

廣告