{
  "description": "Run a spider, fetch a URL or create a project. Interactive shell, parse, settings and custom commands are left out.",
  "name": "scrapy",
  "subcommands": [
    {
      "name": "crawl",
      "description": "Start crawling with a spider from the current project and optionally save items to a file.",
      "options": [
        {
          "names": [
            "-a"
          ],
          "description": "One NAME=VALUE per entry.",
          "args": {
            "name": "spider_arg",
            "description": "One NAME=VALUE per entry.",
            "isOptional": false,
            "isVariadic": true
          },
          "isRepeatable": true
        },
        {
          "names": [
            "--output",
            "-o"
          ],
          "description": "Append to the file; add :FORMAT to the name to pick the format.",
          "args": {
            "name": "output",
            "description": "Append to the file; add :FORMAT to the name to pick the format.",
            "isOptional": false
          }
        },
        {
          "names": [
            "--overwrite-output",
            "-O"
          ],
          "description": "Replace the file's existing content; add :FORMAT to the name to pick the format.",
          "args": {
            "name": "overwrite_output",
            "description": "Replace the file's existing content; add :FORMAT to the name to pick the format.",
            "isOptional": false
          },
          "isDangerous": true
        }
      ],
      "args": [
        {
          "name": "spider",
          "isOptional": false
        }
      ]
    },
    {
      "name": "fetch",
      "description": "Download a URL with the Scrapy downloader and print it to standard output.",
      "options": [
        {
          "names": [
            "--headers"
          ],
          "description": "Print headers only"
        },
        {
          "names": [
            "--no-redirect"
          ],
          "description": "Do not follow redirects"
        },
        {
          "names": [
            "--spider"
          ],
          "description": "Force spider",
          "args": {
            "name": "spider",
            "isOptional": false
          }
        }
      ],
      "args": [
        {
          "name": "url",
          "isOptional": false
        }
      ]
    },
    {
      "name": "startproject",
      "description": "Create a new Scrapy project directory.",
      "args": [
        {
          "name": "project_name",
          "isOptional": false
        },
        {
          "name": "project_dir",
          "description": "Defaults to the project name.",
          "isOptional": true,
          "template": "folders"
        }
      ]
    }
  ]
}
