2

最近,Scrapinghub 在他们的免费包中不再有定期作业,这是我用来运行我的 Scrapy 爬虫的。

因此,我决定改用Scrapyd。所以我继续安装了一个运行 Ubuntu 16.04 的虚拟服务器。(这是我第一次设置和运行服务器,所以请多多包涵)

按照scrapyd.readthedocs.io上的说明,我使用 pip 安装了 Scrapyd:

$ pip install scrapyd

(那是在我发现 Ubuntu 使用 apt-get 的推荐方式实际上不再受支持之后,请参阅Github)。

然后我使用 SSH 登录到我的服务器,并通过简单地运行来运行 Scrapyd

$ scrapyd

据我所知,一切看起来都很好:

2017-10-30 17:31:19+0000 [-] Log opened.
2017-10-30 17:31:19+0000 [-] twistd 16.0.0 (/usr/bin/python 2.7.12) starting up.
2017-10-30 17:31:19+0000 [-] reactor class: twisted.internet.epollreactor.EPollReactor.
2017-10-30 17:31:19+0000 [-] Site starting on 6800
2017-10-30 17:31:19+0000 [-] Starting factory <twisted.web.server.Site instance at 0x7f644752bfc8>
2017-10-30 17:31:19+0000 [Launcher] Scrapyd 1.2.0 started: max_proc=4, runner=u'scrapyd.runner'

当我在http://82.165.102.18:6800访问我的 IP 时,我希望看到一个 Web 界面(在此处描述) 。

相反,我只是收到错误消息“无法访问此站点 82.165.102.18 拒绝连接。”

当我尝试在本地运行 Scrapyd 时,一切正常,我在http://localhost:6800/获得了 Web 界面。

我曾尝试禁用防火墙 (UFW),但这并没有帮助。

在这一点上,我迷路了。如果您有任何想法,请告诉我!

非常感谢!

4

1 回答 1

4

如果您可以在本地访问您的 Scrapyd 实例但不能通过网络访问,我怀疑 Scrapyd 仅在 localhost 上侦听。确保在您的scrapyd.conf:

bind_address = 0.0.0.0

它指示 Scrapyd 监听所有接口。bind_address默认为127.0.0.1,因此默认情况下它仅在 localhost 上侦听。

于 2017-10-31T06:35:52.027 回答