我使用scrapy-splash抓取网页,并在docker上运行启动服务。
commond:
docker run -p 8050:8050 scrapinghub/splash --max-timeout 3600
但我收到504错误。
"error": {"info": {"timeout": 30}, "description": "Timeout exceeded rendering page", "error": 504, "type": "GlobalTimeoutError"}
虽然我尝试添加splash.resource_timeout
,request:set_timeout
或SPLASH_URL = 'http://localhost:8050?timeout=1800.0'
,但没有任何变化。
感谢您的帮助。
答案 0 :(得分:9)
我使用scrapy-splash
包并在args
SplashRequest
参数中设置超时,如下所示:
yield scrapy_splash.SplashRequest(
url, self.parse, endpoint='execute',
args={'lua_source': script, 'timeout': 3600})
它对我有用。