Scrapy-splash 在 "Server listening on http://0.0.0.0:8050" 没有结果

Scrapy-splash no results at "Server listening on http://0.0.0.0:8050"

我在 Windows 10 家庭版上使用 Docker 工具箱(我的 BIOS 配置不允许我安装 Linux)

当我运行

docker run -it -p 8050:8050 --rm scrapinghub/splash

我收到日志消息 Server listening on http://0.0.0.0:8050,正常情况下应该是这样。但是当我去我的 Chrome 的地址时,唯一 returns 是 ERR_ADDRESS_INVALID,无法访问该页面。


我已经尝试了以下解决方案来解决这个问题:

  1. 根据我的 Docker IP 地址更改我 settings.py 上的 SPLASH_URL
  2. 正在向我的 docker 运行 添加新端口,例如 5023:50238051:8051

我想这是我需要调查的问题,它是由我自己引起的。但是我已经尝试了所有可以在 Internet 上找到的方法。

我会写出正确的答案,感谢用户Selcuk, for explaning some technical terms, and David Maze,给了我最终的解决方案。


由于我们正在使用 Docker 工具箱,因此我们需要使用我们的 docker-machine ip。 转到您的终端并输入:

docker-machine ip

现在您拥有 ip 的权利,转到您的 settings.py 并设置

SPLASH_URL = http://[docker-machine ip]:8050

一切顺利!

您不需要更改任何设置。

如果您启动 docker 终端,它会在第一时间显示正确的 IP 地址,紧接着鲸鱼绘图。

                       ##         .
              ## ## ##        ==
           ## ## ## ## ##    ===
       /"""""""""""""""""\___/ ===
  ~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ /  ===- ~~~
       \______ o           __/
         \    \         __/
          \____\_______/

docker is configured to use the default machine with IP 192.168.99.102
For help getting started, check out the docs at https://docs.docker.com

所以在我的例子中,IP 是 192.168.99.102。

如果我在 chrome 上访问 192.168.99.102:8050,启动会起作用。