Scrapy, a fast high-level web crawling & scraping framework for Python.
Go to file
Andrey Rakhmatullin 6fe27ba33e
Add more no-reactor tests (#7259)
* Generic changes and scrapy bench.

* scrapy check.

* scrapy crawl.

* scrapy fetch.

* scrapy parse.

* scrapy runspider.

* scrapy shell.

* Skip httpx tests on default-reactor.

* Review requires_reactor marks.

* Make test functions that require an event loop async def.

* Improve test_pending_asyncio_tasks().

* Add Mac OS DNS error.

* Refactor most of test_scheduler.py.

* Finish refactoring DownloaderAwareSchedulerTestMixin.

* Refactor test_engine_loop.py.

* Add the no-reactor-extra-deps tox env, run no-reactor on macos.

* Skip unhandled CancelledError when shutting down the engine.

* Fix typing and pre-commit checks.

* Fix typing problems in master.

---------

Co-authored-by: Adrian <adrian@zyte.com>
2026-03-24 15:29:22 +05:00
.github Add more no-reactor tests (#7259) 2026-03-24 15:29:22 +05:00
docs Await persist_file() in media pipelines. (#7182) 2026-03-24 10:52:56 +01:00
extras Fix and ban the top-level twisted.internet.reactor imports. (#6835) 2025-05-28 15:53:52 +05:00
scrapy Add more no-reactor tests (#7259) 2026-03-24 15:29:22 +05:00
sep Add sphinx-lint. (#6920) 2025-06-28 01:37:20 +02:00
tests Add more no-reactor tests (#7259) 2026-03-24 15:29:22 +05:00
tests_typing Move to mypy --strict with exceptions. (#7300) 2026-03-02 15:47:23 +05: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 .vscode to .gitignore. (#6907) 2025-06-23 18:58:54 +02:00
.pre-commit-config.yaml Bump ruff, fix some of rules (#7277) 2026-02-23 11:48:38 +01:00
.readthedocs.yml chore(docs): refactor config (#6623) 2025-01-20 12:18:30 +01:00
AUTHORS Scrapinghub → Zyte 2021-02-02 15:03:20 +01: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.13.4 → 2.14.0 2026-01-05 15:06:13 +05:00
codecov.yml codecov config: disable project check, tweak PR comments 2017-05-19 00:01:27 +05:00
conftest.py Enable in-process HTTP tests without a reactor. (#7254) 2026-02-13 19:08:06 +01:00
pyproject.toml Disable mypy allow_untyped_calls. (#7331) 2026-03-24 10:31:17 +01:00
tox.ini Add more no-reactor tests (#7259) 2026-03-24 15:29:22 +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>