Атрибут data-href
, скорее всего, рассчитывается по некоторому коду JavaScript, запущенному в вашем браузере.Если вы посмотрите на исходный код этой страницы (опция «просмотреть исходный код» в вашем браузере), вы не найдете там этого атрибута.
Вывод, который вы видите в инструментах разработчика, - это DOM, представленныйваш браузер, так что вы можете ожидать различий между вашим видом браузера и тем, что на самом деле выбирает Scrapy (который является необработанным исходным кодом HTML).Имейте в виду, что Scrapy не выполняет никакого кода JavaScript.
В любом случае, для решения этой проблемы было бы создание URL-адреса нумерации страниц на основе атрибута data-page
:
from w3lib.url import add_or_replace_parameter
...
next_page = response.css('.Pagination-item--nextSolo button::attr(data-page)').get()
next_page_url = add_or_replace_parameter(response.url, 'page', next_page)
w3lib
- это библиотека с открытым исходным кодом: https://github.com/scrapy/w3lib