Document customizing Scrapy shell variables

This commit is contained in:
Hyun Seok Kim 2026-05-24 01:29:51 -07:00
parent 4a16550859
commit 910819ad60
1 changed files with 19 additions and 0 deletions

View File

@ -139,6 +139,25 @@ Those objects are:
- ``settings`` - the current :ref:`Scrapy settings <topics-settings>`
Customizing shell variables
---------------------------
If you want to make project-specific helpers, imports, or objects available
whenever the Scrapy shell starts, you can create a custom shell command and
override its ``update_vars`` method. See :ref:`topics-commands` for more
information about creating custom Scrapy commands.
For example, if your project defines a custom ``shell`` command, you can update
the shell namespace like this::
from scrapy.commands.shell import Command as ShellCommand
class Command(ShellCommand):
def update_vars(self, vars):
super().update_vars(vars)
vars["parse_title"] = lambda response: response.css("title::text").get()
Example of shell session
========================