Я пытаюсь вытащить ссылки на все товары со страницы
https://www.abenaonline.no/Products.aspx?ProductGroupId=115000001000002520Для пагинации спользую скрипт на lua:
lua_pagination = """
function main(splash, args)
-- visit each page of pagination
assert(splash:go(args.url))
assert(splash:wait(2))
result = {}
-- find max page number
max_page = splash:select_all("select>option")
max_page = tonumber(max_page[#max_page]:text())
for i=1,max_page do
result[i] = splash:html()
next_btn = splash:select("td[style='width: 85px; text-align: right;']>a")
next_btn:mouse_click()
splash:wait(4)
end
return result
end
"""
передаю его в запрос
yield SplashRequest(
url=response.urljoin(subcategory)
, callback=self.parse_pagination
, endpoint='execute'
, args={'lua_source': lua_pagination, 'timeout': 90}
)
В функцию parse_pagination приходит SplashJsonResponse, текст html кода страниц содержится в
response.data[key]. Но содержится в виде str и методы вроде .xpath/.css к нему не применимы. Как из такого текста можно сделать обычный response (или просто получить возможность применять к нему стандартные методы из response)?