3

加载 javascript 时,它会发出另一个 ajax 请求,其中应在响应中设置 cookie。但是,Splash 不会在多个请求中保留任何 cookie,有没有办法在所有请求中保留 cookie?甚至在每个请求之间手动分配它们。

4

1 回答 1

4

是的, scrapy-splash README中有一个示例- 请参阅会话处理部分。简而言之,首先,确保所有设置都正确。然后用于SplashRequest(url, endpoint='execute', args={'lua_source': script})发送scrapy请求。渲染脚本应该是这样的:

function main(splash)
    splash:init_cookies(splash.args.cookies)

    -- ... your script

    return {
        cookies = splash:get_cookies(),
        -- ... other results, e.g. html
    }
end

在 scrapy-splash README 中还有一个完整的 cookie 处理、标头处理等示例 - 请参见此处的最后一个示例。

于 2016-11-11T14:34:45.730 回答