+-
Scrapy,Splash和Connection被另一方拒绝:10061

我在Javascript驱动的网站上使用scrapy with splash。但是,我无法通过Connection was refused by other side: 10061错误。

我得到这样的日志:

[scrapy.downloadermiddlewares.retry] DEBUG: Retrying 
 <GET https://www2.deloitte.com/ch/en/misc/search.html#country=All#qr=accounting     
 via http://localhost:8050/render.html> (failed 1 times): Connection 
 was refused by other side: 10061: No connection could be made because 
 the target machine actively refused it..

和一个指向扭曲的追溯:

twisted.internet.error.ConnectionRefusedError: Connection was refused 
by other side: 10061: No connection could be made because the target 
machine actively refused it..

我检查了设置中的所有条目,尝试了各种USER_AGENTSROBOT条目,但没有运气。还尝试使用--disable-private-mode开始启动,但没有效果。

奇怪的是,只需将相同的网址复制粘贴到浏览器中即可。

我使用普通的命令行scrapy,以及通过API。有趣的是,当使用API​​时,当然,在PyCharm中的错误消息中单击目标的url,#标签#将被其转义码替换。所以我很困惑是否在这个是另一个问题,或者两者是否相关。

甚至试图查看通过Wireshark和Fiddler发送的包,但是不能很好地理解结果,因为我之前从未使用过这些工具。

任何建议将不胜感激。

1
投票

最后,设法找出罪魁祸首。它确实是与docker容器的连接。

首先,我必须使用检索docker容器IP

docker-machine ip

在码头终端。接下来,我不得不在scrapy settings.py文件中调整SPLASH_URL以指向docker-machine ip而不是localhost:8050,并且瞧......它有效。

不幸的是,到目前为止我看到的消息来源已经相当不清楚了,所以我希望这对其他可怜的灵魂第一次引起轰动有所帮助。