Похоже, я мог бы заставить его работать с хорошим сценарием lua :) Он возвращает обработанный ответ json со всем, что мне нужно.
def start_requests(self):
lua_script = """
function main(splash)
assert(splash:go(splash.args.url))
while not splash:select('.attendee-item') do
splash:wait(0.1)
end
return {html=splash:html()}
end
"""
yield SplashRequest(url=self.url, callback=self.parse,
endpoint='execute',
args={'lua_source': lua_script,
'wait': 5,
},
)