截至目前,Scrapinghub在他们的免费软件包中不再有定期工作,这是我以前用来运行我的Scrapy抓取工具的。
因此,我决定使用Scrapyd代替。所以我继续使用运行Ubuntu 16.04的虚拟服务器。 (这是我第一次设置和运行服务器,所以请耐心等待我)
按照scrapyd.readthedocs.io上的说明,我使用pip安装了Scrap:
$ pip install scrapyd
(那是在我发现使用apt-get的Ubuntu的推荐方式实际上不再受支持之后,请参阅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'
当我在here访问我的IP时,我希望看到一个网络界面(描述为http://82.165.102.18:6800)。
相反,我只是收到错误消息&#34;此网站无法联系82.165.102.18拒绝连接。&#34;
当我尝试在本地运行Scrapyd时,一切正常,我在http://localhost:6800/获得了Web界面。
我尝试过禁用防火墙(UFW),但这并没有帮助。
此时,我迷路了。如果您有任何想法,请告诉我们!
非常感谢!
答案 0 :(得分:3)
如果您可以在本地访问Scrapyd实例但不能通过网络访问,我怀疑Scrapyd只在localhost上侦听。请务必在scrapyd.conf
:
bind_address = 0.0.0.0
它指示Scrapyd监听所有接口。 bind_address
默认为127.0.0.1
,因此默认情况下它只侦听localhost。