我有一个带有javascript的页面,我想多次使用scrapy-splash
。页面的每次加载大约需要7秒,因此如果可能的话,我希望保持页面处于活动状态,以继续执行javascript并检索数据。我尝试设置cookie以保持会话活着,当我尝试执行javascript它返回一个未定义的错误,并且请求的400错误。仅使用start_url运行相同的lua
脚本时,它可以正常工作。
有没有办法让页面保持加载状态,以便我可以继续在lua脚本中访问它?我认为可能通过last_response或splash:history()
。
function main(splash, args)
splash:init_cookies(splash.args.cookies)
if args.start_url == true then
assert(splash:go(args.url))
local entries = splash:history()
local last_response = entries[#entries].response
else
splash:evaljs(args.jscript)
end
return {
url = splash:url(),
headers = last_response.headers,
http_status = last_response.status,
cookies = splash:get_cookies(),
html = splash:html(),
}
end