一、splash介紹
Splash是一個Javascript渲染服務。它是一個實現了HTTP API的輕量級瀏覽器,基於Python3和Twisted引擎,可以異步處理任務,並發性能好。
由於目前很多的網頁通過javascript模式進行交互,簡單的爬取網頁模式無法應對javascript和ajax網頁的爬取,同時通過分析連接請求的方式比較復雜,而通過調用瀏覽器模擬頁面動作模式,無法實現異步和大規模爬取需求,並且scrapy只能抓取靜態網頁,在這種情況下,產生了splash,scrapy還可以結合splash實現大規模抓取動態網頁,以后會詳細介紹搭配scrapy的用法。
三、splash的安裝
下面只介紹Mac與linux的安裝,windows中使用docker會出現很多未知錯誤
3. 安裝完,打開docker,會看到頂部狀態欄出現鯨魚圖標
4. 第一次點擊,會提示安裝成功,點擊got it可以關閉窗口
5、打開終端,使用docker --version查看版本
6、由於國內網絡問題,有些docker鏡像拉取很慢,所以需要配置國內鏡像源,點擊🐳圖標-> Perferences... -> Daemon -> Registry mirrors,可以使用網易的鏡像地址:http://hub-mirror.c.163.com
7、配置完成之后,就可以正式安裝splash了,終端輸入以下命令進行安裝
docker pull scrapinghub/splash
8、等待安裝完成,需要啟動我們的splash才能使用
docker run -p 8050:8050 -p 5023:5023 scrapinghub/splash
9、啟動之后,可以在瀏覽器訪問,並進行渲染測試