【问题标题】:Scrapy + Splash (Docker) IssueScrapy + Splash(Docker)问题
【发布时间】:2017-08-02 02:34:52
【问题描述】:

我在 AWS Ubuntu 服务器上设置了 scrapy 和 scrapy-splash。它可以正常工作一段时间,但几个小时后我会开始收到这样的错误消息;

Traceback (most recent call last):
  File "/home/ubuntu/.local/lib/python3.5/site-
packages/twisted/internet/defer.py", line 1384, in _inlineCallbacks
result = result.throwExceptionIntoGenerator(g)
  File "/home/ubuntu/.local/lib/python3.5/site-
packages/twisted/python/failure.py", line 393, in throwExceptionIntoGe
nerator
     return g.throw(self.type, self.value, self.tb)
   File "/home/ubuntu/.local/lib/python3.5/site-
 packages/scrapy/core/downloader/middleware.py", line 43, in process_re
quest
defer.returnValue((yield download_func(request=request,spider=spider)))
twisted.internet.error.ConnectionRefusedError: Connection was refused by 
other side: 111: Connection refused.

我会发现 docker 中的启动过程要么已经终止,要么没有响应。

我一直在运行启动过程;

sudo docker run -p 8050:8050 scrapinghub/splash

按照scrapy-splash的说明。

我尝试在 tmux shell 中启动该进程以确保 ssh 连接不会干扰 splah 进程,但没有运气。

想法?

【问题讨论】:

    标签: scrapy scrapy-splash


    【解决方案1】:

    您应该使用--restart-d 选项运行容器。请参阅documentation 如何在生产环境中运行 Splash。

    【讨论】:

    • 谢谢。我自己偶然发现了这个想法,谷歌搜索,但这是一个很好的资源。我将为下一个人添加...您可以看到为什么您的 docker 进程因“docker ps -a”而失败,并注意退出代码 137 似乎与内存过度使用有关。 @Tomas 的建议是让 docker 在由于内存不足而失败时自动重启进程。
    • Splash 没有发送正确的 url。请看stackoverflow.com/questions/63212796/…这个。我需要帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-05-30
    • 1970-01-01
    • 1970-01-01
    • 2017-10-31
    • 1970-01-01
    • 2017-12-23
    • 2018-01-08
    相关资源
    最近更新 更多