如何在 Scrapy Splash 中加载本地 HTML 文件?

Uma*_*air 6 scrapy scrapy-splash

我想使用 Scrapy Splash 加载本地 HTML 文件并将其另存为 PNG/JPEG,然后删除该 HTML 文件

script = """
splash:go(args.url)
return splash:png()
"""
resp = requests.post('http://localhost:8050/run', json={
    'lua_source': script,
    'url': 'file://my_file.html'
})
resp.content
Run Code Online (Sandbox Code Playgroud)

它返回我

加载页面失败(协议“”未知)网络错误 #301

我也试过

yield SplashRequest(url=filepath, 
                    callback=self.parse_result,
                    meta={'filepath': filepath},
                    args={
                        'wait': 0.5,
                        'png': 1,
                    },
                    endpoint='render.html',
                )
Run Code Online (Sandbox Code Playgroud)

但我得到

2020-04-23 12:07:41 [scrapy.downloadermiddlewares.retry] 调试:重试 http://localhost:8050/render.html>(失败 1 次):502 错误网关

Gre*_*reg 0

您\xe2\x80\x99正在使用Scrapy Splash与ScrapingHub通信以生成图像。这只支持 HTTP(s) 请求。您可以克隆他们的存储库并实施更改。

\n

尽管通过 Web 服务器提供 HTML 可能更容易。您可以使用本地主机。但是,如果您\xe2\x80\x99通过docker运行ScrapingHub,那么您\xe2\x80\x99将需要允许访问端口。

\n