scrapy/docs
Apoorv Darshan 65219c311c
Do not treat percent-encoded characters in feed URIs as format specifiers
Feed URIs were formatted with uri % uri_params, so a percent-encoded
character in the URI - e.g. an FTP password containing %23 - was parsed
as a printf-style format specifier, crashing FeedExporter.open_spider()
with 'TypeError: %u format: a real number is required, not dict', or in
some cases (%25s) silently corrupting the URI.

Substitute only named placeholders such as %(name)s (including
conversion specs like %(batch_id)05d) and the %% escape, leaving any
other percent sequence untouched. Both the open_spider() and the
batch-delivery call sites are covered.

Fixes #5794
2026-07-02 18:18:18 +05:30
..
_ext Fix small documentation wording issues (#7480) 2026-05-04 08:43:21 +02:00
_static Feature the new logo in the README (#6831) 2025-06-06 12:43:56 +05:00
_templates fix typos (#7564) 2026-06-02 11:04:38 +02:00
_tests Remove trailing whitespace 2025-03-11 11:56:44 +01:00
intro Release notes for 2.15.0 (#7373) 2026-04-09 16:56:30 +05:00
topics Do not treat percent-encoded characters in feed URIs as format specifiers 2026-07-02 18:18:18 +05:30
utils IOError and other cleanup (#4716) 2023-06-21 20:08:53 +02:00
Makefile chore(docs): refactor config (#6623) 2025-01-20 12:18:30 +01:00
README.rst Add llms.txt and llms-full.txt generation (#7380) 2026-04-06 10:24:21 +02:00
conf.py Document scrapy-lint, remove start_url check (#7627) 2026-06-22 20:12:16 +05:00
conftest.py adding black formatter to all the code 2022-11-29 11:30:46 -03:00
contributing.rst Release notes for 2.15.0 (#7373) 2026-04-09 16:56:30 +05:00
faq.rst Add support for HTTP/2 and for SOCKS proxies to HttpxDownloadHandler, improve handler docs (#7575) 2026-06-09 01:10:44 +05:00
index.rst Add a documentation page about security (#7678) 2026-06-26 11:58:37 +02:00
news.rst Add settings for TLS min/max version as a replacement for the TLS method (#6546) 2026-06-08 11:54:10 +02:00
requirements.in Document scrapy-lint, remove start_url check (#7627) 2026-06-22 20:12:16 +05:00
requirements.txt Document scrapy-lint, remove start_url check (#7627) 2026-06-22 20:12:16 +05:00
versioning.rst Release notes for 2.15.0 (#7373) 2026-04-09 16:56:30 +05:00

README.rst

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head> </head>
orphan:

Scrapy documentation quick start guide

This file provides a quick guide on how to compile the Scrapy documentation.

Setup the environment

To compile the documentation you need Sphinx Python library. To install it and all its dependencies run the following command from this dir

pip install -r requirements.txt

Compile the documentation

To compile the documentation (to classic HTML output) run the following command from this dir:

make html

Documentation will be generated (in HTML format) inside the build/html dir.

View the documentation

To view the documentation run the following command:

make htmlview

This command will fire up your default browser and open the main page of your (previously generated) HTML documentation.

Start over

To clean up all generated documentation files and start from scratch run:

make clean

Keep in mind that this command won't touch any documentation source files.

Recreating documentation on the fly

There is a way to recreate the doc automatically when you make changes, you need to install watchdog (pip install watchdog) and then use:

make watch

Alternative method using tox

To compile the documentation to HTML run the following command:

tox -e docs

Documentation will be generated inside the docs/_build/all dir.

</html>