加载 javascript 时,它会发出另一个 ajax 请求,其中应在响应中设置 cookie。但是,Splash 不会在多个请求中保留任何 cookie,有没有办法在所有请求中保留 cookie?甚至在每个请求之间手动分配它们。
问问题
5794 次
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 回答