在scrapy-splash中保持页面活着

时间:2018-01-10 13:05:09

标签: javascript lua scrapy scrapy-splash

我有一个带有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

0 个答案:

没有答案