无标题文章

一、前言   

由于最近使用Python爬虫框架scrapy练习爬虫,在爬取动态网页的时候,需要用到splash,进行对动态网页进行JavaScript渲染,但是使用splash又必须安装Docker。因为对Docker比较陌生,只能进行恶补。其中很多教程是基础Linux和windows环境下的安装,Mac下的相对较少,今天基于我自己的实践,给大家分享一下Mac环境下的安装运行教程,有不妥的地方欢迎指正。   

二、安装Splash之前需要安装Docker的原因   

Splash是一个利用webkit或者基于webkit库 Javascript渲染服务。它是一个实现了HTTP API的轻量级浏览器,Splash是用Python实现的,同时使用Twisted和QT。官方文档解释是必须使用Docker容器!之所以用容器技术,好处是你可以一坨的安装好splash,而不必一点一点的去为安装splash填坑。

三、Mac下Docker下载及安装

[下载地址传送](https://www.docker.com/get-docker)   

1、打开连接后找到如下图所示的位置,点击Mac图标,进入Mac下载页面 

无标题文章_第1张图片


2、在下载页面,点击 Get Docker进行下载 


无标题文章_第2张图片

3、下载完成后进行安装

四、按照如下命令进行安装运行Splash

1、安装命令: 

>>docker pull scrapinghub/splash   


无标题文章_第3张图片

2、运行命令:

>>docker run -p 8050:8050 -p 5023:5023 scrapinghub/splash 


无标题文章_第4张图片

3、按照命令提示,在浏览器运行 [localhost:8050](http://0.0.0.0:8050/)

如果出现一下界面则证明运行成功。   

无标题文章_第5张图片

之后你就可以愉快的玩耍Docker以及Splash了。 

五、需要注意的地方

1、安装好splash之后,你可能访问不到,很大一定程度是你把ip弄错了,你访问的应该是你虚拟机的ip:8050,所以你首先要用ifconfig得到linux的ip地址,然后再在你本地浏览器输入ip:8050,则可打开如上图界面。因为网上查的都是liunx下的资料,ip直接用localhost就可以,一直访问不了,其实mac下面,docker splash是会虚拟出一个新的ip的,这个地址需要用上面的命令ifconfig查出。

2、你虚拟机地址可能每次重启都在变,所以你在渲染的时候一定要注意更改middleware里面ip的地址,不然无法渲染,你原因都找不到

最后再给大家一个[Docker中文教程地址](http://www.docker.org.cn/book/install/supported-platform-17.html),以及[Windows下的教程](https://www.jianshu.com/p/4052926bc12c)。

你可能感兴趣的:(无标题文章)