1. 程式人生 > >python爬蟲之Splash使用初體驗

python爬蟲之Splash使用初體驗

ans 服務器 wid ajax tor 為什麽 安裝 異步 理由

Splash是什麽:

  Splash是一個Javascript渲染服務。它是一個實現了HTTP API的輕量級瀏覽器,Splash是用Python實現的,同時使用Twisted和QT。Twisted(QT)用來讓服務具有異步處理能力,以發揮webkit的並發能力。

為什麽要有Splash:

  為了更加有效的制作網頁爬蟲,由於目前很多的網頁通過javascript模式進行交互,簡單的爬取網頁模式無法勝任javascript頁面的生成和ajax網頁的爬取,同時通過分析連接請求的方式來落實局部連接數據請求,相對比較復雜,尤其是對帶有特定時間戳算法的頁面,分析難度較大,效率不高。而通過調用瀏覽器模擬頁面動作模式,需要使用瀏覽器,無法實現異步和大規模爬取需求。鑒於上述理由Splash也就有了用武之地。一個頁面渲染服務器,返回渲染後的頁面,便於爬取,便於規模應用。

安裝條件:

安裝:

  首先點擊下面鏈接,從docker官網上下載windows下的docker進行安裝,不過請註意系統要求是**windows1064位 pro及以上版本或者教育版

  官網下載:https://store.docker.com/editions/community/docker-ce-desktop-windows

  技術分享圖片

  安裝包下載完成後以管理員身份運行。

  技術分享圖片

  查看信息:

  #docker info

  #docker version

  技術分享圖片

  查看啟動的容器

  技術分享圖片

  在docker中下載安裝Splash鏡像,並安裝

  #docker pull scrapinghub/splash

  啟動splash服務

#啟動splash服務,並通過http,https,telnet提供服務
#通常一般使用http模式 ,可以只啟動一個8050就好  
#Splash 將運行在 0.0.0.0 at ports 8050 (http), 8051 (https) and 5023 (telnet).
docker run -p 5023:5023 -p 8050:8050 -p 8051:8051 scrapinghub/splash

  

  技術分享圖片

參考鏈接:https://www.jianshu.com/p/4052926bc12c

python爬蟲之Splash使用初體驗