Проскролить страницу для парсинга объектов на Python
Например, есть такая страница: https://stl-nn.com/santehnika/smesiteli/dlya-vanny-s-dushem/?digiSearch=true&term=santek¶ms=%7Csort%3DDEFAULT
На ней находятся элементы, ссылки на которые надо собрать. Но они подгружаются при скроле страницы (посмотрел, происходит такой запрос типа: https://sort.diginetica.net/search?st=santek&apiKey=18O0VD92Y8&strategy=vectors_strict,zero_queries_predictor&fullData=true&withCorrection=true&withFacets=true&treeFacets=true®ionId=global&useCategoryPrediction=false&size=20&offset=40&showUnavailable=true&unavailableMultiplier=0.2&preview=false&withSku=false&sort=DEFAULT и меняется offset на 20 каждый раз).
Пробовал прокрутить страницу при помощи Selenium, но страница не прокручивается ( так же и в ручном режиме, только при наведении на основную часть страницы:

Будьте добры подсказать метод как можно собрать все элементы.
Ответы (2 шт):
Если цель собрать, то попробуйте с помощью requests-html
Пример:
from requests_html import HTMLSession
session = HTMLSession()
url = 'https://stl-nn.com/santehnika/smesiteli/dlya-vanny-s-dushem/?digiSearch=true&term=santek¶ms=%7Csort%3DDEFAULT'
r = session.get(url)
r.html.render()
text = r.html.find('a')
print(text)
>>> ... <Element 'a' href='https://stl-nn.com/santehnika/smesiteli/vstraivaemyy-termostat-dlya-vannoy-ili-dusha-grohtherm-1000-34160000-grohe/' class=('product__title',) title='Встраиваемый термостат для ванной или душа Grohtherm 1000, 34160000, GROHE'>, <Element 'a' class=('button', 'button_bookmark', 'cm-submit', 'text-button') data-ca-dispatch='dispatch[wishlist.add..2923]' rel=('nofollow',)> ...
Пробовал BS4, Selenium - не берет.
Примерно так:
import requests
res = requests.get('https://sort.diginetica.net/search?st=santek&apiKey=18O0VD92Y8&'
'strategy=vectors_strict,zero_queries_predictor&fullData=true&'
'withCorrection=true&withFacets=true&treeFacets=true®ionId=global&'
'useCategoryPrediction=false&size=40&offset=0&showUnavailable=true&'
'unavailableMultiplier=0.2&preview=false&withSku=false&sort=DEFAULT')
for i, x in enumerate(res.json()['products'], 1):
name = x['name']
link = f"https://stl-nn.com{x['link_url']}"
print(i, name)
print(link)
1 Умывальник Балтика 60, Santek
https://stl-nn.com/santehnika/umyvalniki/umyvalnik-baltika-60-santek/
2 Унитаз-компакт SANTEK Лига, 1.WH30.2.141, 2 режима
https://stl-nn.com/santehnika/unitazy-i-komplektuyuschie/unitazy/unitaz-kompakt-liga-standart-2-rej-dyuro-metal-krepej/
......
39 Унитаз-компакт Santek Римини 1.WH50.1.523 косой выпуск
https://stl-nn.com/santehnika/unitazy-i-komplektuyuschie/unitazy/unitaz-kompakt-rimini-ekonom-2-rezh-poliprop/
40 Унитаз-компакт Santek Нео 1.WH30.2.418 безободковый
https://stl-nn.com/santehnika/unitazy-i-komplektuyuschie/unitazy/unitaz-kompakt-bezobodkovyy-neo-rimless-standart-2-rezh.-dyuro-metal-krepezh-softclose-tonkoe/
Проскролить страницу используем offset=0 в адресе сайта например offset=40 и т.д.