一、前言
由於最近使用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下載及安裝
1、打開連接后找到如下圖所示的位置,點擊Mac圖標,進入Mac下載頁面
2、在下載頁面,點擊 Get Docker進行下載
3、下載完成后進行安裝
四、按照如下命令進行安裝運行Splash
1、安裝命令:
docker pull scrapinghub/splash
2、運行命令:
docker run -p 8050:8050 -p 5023:5023 scrapinghub/splash
3、按照命令提示,在瀏覽器運行 localhost:8050
如果出現一下界面則證明運行成功。
之后你就可以愉快的玩耍Docker以及Splash了。
五、需要注意的地方
1、安裝好splash之后,你可能訪問不到,很大一定程度是你把ip弄錯了,你訪問的應該是你虛擬機的ip:8050,所以你首先要用ifconfig得到linux的ip地址,然后再在你本地瀏覽器輸入ip:8050,則可打開如上圖界面。因為網上查的都是liunx下的資料,ip直接用localhost就可以,一直訪問不了,其實mac下面,docker splash是會虛擬出一個新的ip的,這個地址需要用上面的命令ifconfig查出。
2、你虛擬機地址可能每次重啟都在變,所以你在渲染的時候一定要注意更改middleware里面ip的地址,不然無法渲染,你原因都找不到
最后再給大家一個Docker中文教程地址,以及Windows下的教程。