Install this version:
emerge -a =dev-python/scrapy-2.19.0
If this version is masked, you can unmask it using the autounmask tool or standard emerge options:
autounmask =dev-python/scrapy-2.19.0
Or alternatively:
emerge --autounmask-write -a =dev-python/scrapy-2.19.0
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_COMPAT=( python3_{12..14} )
DISTUTILS_USE_PEP517=hatchling
inherit distutils-r1 pypi
DESCRIPTION="A high-level Web Crawling and Web Scraping framework"
HOMEPAGE="https://scrapy.org/"
LICENSE="BSD"
SLOT=0
KEYWORDS="~amd64 ~arm64"
# itemloaders supplies itemadapter and parsel (including cssselect and packaging).
# pyopenssl supplies cryptography; twisted[http2] supplies h2 and priority.
RDEPEND="
>=app-arch/brotli-1.2.0[python,${PYTHON_USEDEP}]
>=dev-python/aiohttp-3.13.3[${PYTHON_USEDEP}]
>=dev-python/charset-normalizer-3.4.0[${PYTHON_USEDEP}]
>=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
>=dev-python/itemloaders-1.0.1[${PYTHON_USEDEP}]
>=dev-python/lxml-4.6.4[${PYTHON_USEDEP}]
>=dev-python/platformdirs-2.0.0[${PYTHON_USEDEP}]
>=dev-python/protego-0.1.15[${PYTHON_USEDEP}]
>=dev-python/pydispatcher-2.0.5[${PYTHON_USEDEP}]
>=dev-python/pyopenssl-24.3.0[${PYTHON_USEDEP}]
>=dev-python/queuelib-1.6.1[${PYTHON_USEDEP}]
>=dev-python/service-identity-24.2.0[${PYTHON_USEDEP}]
dev-python/tldextract[${PYTHON_USEDEP}]
>=dev-python/twisted-21.7.0[http2,${PYTHON_USEDEP}]
>=dev-python/w3lib-2.1.1[${PYTHON_USEDEP}]
>=dev-python/zope-interface-5.1.0[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
>=dev-python/backports-zstd-1.3.0[${PYTHON_USEDEP}]
' python3_{12,13})
"
BDEPEND="
test? (
dev-python/botocore[${PYTHON_USEDEP}]
dev-python/pexpect[${PYTHON_USEDEP}]
>=dev-python/pyftpdlib-2.0.1[${PYTHON_USEDEP}]
dev-python/uvloop[${PYTHON_USEDEP}]
)
"
EPYTEST_PLUGINS=( pytest-rerunfailures pytest-twisted )
distutils_enable_tests pytest
EPYTEST_DESELECT=(
# these require (local) network access
tests/test_command_check.py
tests/test_feedexport.py
tests/test_pipeline_files.py::TestFTPFileStore::test_persist
# Flaky test: https://github.com/scrapy/scrapy/issues/6193
tests/test_crawl.py::CrawlTestCase::test_start_requests_laziness
# Missing dependencies
tests/test_spidermiddleware_output_chain.py
)
EPYTEST_IGNORE=( docs )
>=app-arch/brotli-1.2.0[python,${PYTHON_USEDEP}] >=dev-python/aiohttp-3.13.3[${PYTHON_USEDEP}] >=dev-python/charset-normalizer-3.4.0[${PYTHON_USEDEP}] >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}] >=dev-python/itemloaders-1.0.1[${PYTHON_USEDEP}] >=dev-python/lxml-4.6.4[${PYTHON_USEDEP}] >=dev-python/platformdirs-2.0.0[${PYTHON_USEDEP}] >=dev-python/protego-0.1.15[${PYTHON_USEDEP}] >=dev-python/pydispatcher-2.0.5[${PYTHON_USEDEP}] >=dev-python/pyopenssl-24.3.0[${PYTHON_USEDEP}] >=dev-python/queuelib-1.6.1[${PYTHON_USEDEP}] >=dev-python/service-identity-24.2.0[${PYTHON_USEDEP}] dev-python/tldextract[${PYTHON_USEDEP}] >=dev-python/twisted-21.7.0[http2,${PYTHON_USEDEP}] >=dev-python/w3lib-2.1.1[${PYTHON_USEDEP}] >=dev-python/zope-interface-5.1.0[${PYTHON_USEDEP}] $(python_gen_cond_dep ' >=dev-python/backports-zstd-1.3.0[${PYTHON_USEDEP}] ' python3_{12,13})
test? ( dev-python/botocore[] dev-python/pexpect[] >=dev-python/pyftpdlib-2.0.1[] dev-python/uvloop[] )