安装
Linux + Docker
sudo docker run -p 8050:8050 -p 5023:5023 scrapinghub/splash
快速开始
http://0.0.0.0:8050/
Splash HTTP API
请求方式
- GET,将参数转为 URL 参数;
- POST,将参数编码为 JSON 格式并使用
Content-Type: application/json
请求体。
获取 Cookie 的 Lua 脚本
function main(splash, args)
splash.images_enabled = false
splash.resource_timeout = 90
splash:set_user_agent(args.ua)
splash:on_request(function(request) request:set_proxy{host = args.host, port = args.port} end)
assert(splash:go(args.url))
assert(splash:wait(0.5))
local cookie = splash:evaljs('document.cookie')
return cookie
end
部署到生产环境
- 作为守护进程启动;
- 奔溃重启;
- 控制内存消耗;
- 运行多个 Splash 实例;
- 请求队列应该放到负载均衡里面;
- 使用跟开发环境一致的版本。
docker run -d -p 8050:8050 --memory=3G --restart=always scrapinghub/splash:3.3.1 --maxrss 4000 --max-timeout 300 --slots 5