Splash 提供的 Web 页面输入网址无法渲染问题解决

刚开始接触Splash,按照崔庆才老师的《Python3网络爬虫开发实战》中提供的方法,使用docker拉取镜像安装,然后启动,访问localhost:8050,一切都很美好。

docker pull scrapinghub/splash
docker run -d -p 8050:8050 scrapinghub/splash

但是通过 Splash 提供的 Web 页面来测试其渲染过程时,一直渲染不出来,打开控制台发现是jquery和bootstrap资源没有正确加载造成的,如下图所示:


image.png

解决思路:
由于该问题是资源加载不成功导致的,那么我们把这几个不能访问的资源替换成可以访问的地址就可以了,步骤如下:
首先,github上下载splash源码,全局搜索jquery、jquery-migrate、bootstrap,定位到引用位置在splash/resources.py中。
然后,百度搜索相同版本的cdn资源,替换掉这几个链接。
最后,返回项目根目录,编辑一下Dockfile为:

FROM scrapinghub/splash
COPY . /app

然后执行docker build -t your-awsome-name/splash:v1 .构建你自己的镜像,停止官方镜像创建的容器,使用自己的镜像启动容器

docker run -d -p 8050:8050 your-awsome-name/splash:v1

搞定。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容