Scrapy, a fast high-level web crawling & scraping framework for Python.
Go to file
MUHAMED FAZAL PS c9ab27e281 fix(ftp): close FTP client connection and protocol on all code paths
FTPDownloadHandler.download_request() creates an FTPClient via
ClientCreator.connectTCP() but never calls loseConnection(), leaking
the TCP connection. Additionally, the ReceivedDataProtocol is not
closed on the CommandFailed error path, leaking file handles or
memory buffers.

Move protocol.close() into a finally block and add
client.loseConnection() there so both resources are always cleaned
up regardless of success or failure.

Fixes #7602
2026-06-23 21:38:39 +05:30
.github tox.ini: pinned, typing → min, mypy (#7595) 2026-06-11 12:10:48 +05:00
docs Add content-based image filtering example (#4954) 2026-06-23 09:04:19 +02:00
extras chore: simplify some code, get rid of nested fns where it's makes sence + pylint (#7401) 2026-05-04 23:32:46 +05:00
scrapy fix(ftp): close FTP client connection and protocol on all code paths 2026-06-23 21:38:39 +05:30
sep Add sphinx-lint. (#6920) 2025-06-28 01:37:20 +02:00
tests Improve test coverage for settings/ (#7654) 2026-06-23 14:47:21 +05:00
tests_typing Enable mypy warn_return_any. (#7492) 2026-05-04 22:24:47 +02:00
.git-blame-ignore-revs Update tool versions (#7127) 2025-10-27 14:11:31 +01:00
.gitattributes Maybe the problem is not in the code after all 2020-08-13 06:35:09 +02:00
.gitignore Add llms.txt and llms-full.txt generation (#7380) 2026-04-06 10:24:21 +02:00
.pre-commit-config.yaml Document scrapy-lint, remove start_url check (#7627) 2026-06-22 20:12:16 +05:00
.readthedocs.yml Add Python 3.14 to CI. (#6604) 2026-05-12 23:49:37 +05:00
AUTHORS Scrapinghub → Zyte 2021-02-02 15:03:20 +01:00
CITATION.cff Add CITATION.cff (#7519) 2026-05-14 13:07:13 +02:00
CODE_OF_CONDUCT.md Update Code of Conduct to Contributor Covenant v2.1 2022-10-28 02:13:37 +02:00
CONTRIBUTING.md Be consistent with domain used for links to documentation website 2019-01-31 01:28:53 -03:00
INSTALL.md Update and rename INSTALL to INSTALL.md 2022-10-06 19:58:48 +02:00
LICENSE added oxford commas to LICENSE 2018-06-01 21:48:43 -03:00
NEWS added NEWS file pointing to docs/news.rst 2012-04-28 23:32:51 -03:00
README.rst Remove Python 3.9 support (#7121) 2025-10-27 12:37:49 +01:00
SECURITY.md Bump version: 2.15.2 → 2.16.0 2026-05-19 17:27:16 +05:00
codecov.yml codecov config: disable project check, tweak PR comments 2017-05-19 00:01:27 +05:00
conftest.py Fix Proxy-Authorization handling in BaseStreamingDownloadHandler (#7630) 2026-06-17 11:56:22 +02:00
pyproject.toml Complete test coverage for linkextractors (#7639) 2026-06-19 14:22:03 +05:00
tox.ini Document scrapy-lint, remove start_url check (#7627) 2026-06-22 20:12:16 +05:00

README.rst

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

Scrapy is a web scraping framework to extract structured data from websites. It is cross-platform, and requires Python 3.10+. It is maintained by Zyte (formerly Scrapinghub) and many other contributors.

Install with:

System Message: WARNING/2 (<stdin>, line 52)

Cannot analyze code. Pygments package not found.

.. code:: bash

    pip install scrapy

And follow the documentation to learn how to use it.

If you wish to contribute, see Contributing.

</html>