scrapy splash基本使用

2021-10-24 10:06:08 字數 1980 閱讀 8973

1.scrapy_splash是scrapy的乙個元件

2.scrapy_splash的作用

scrpay_splash能夠模擬瀏覽器載入js,並返回js執行後的資料

3.scrapy_splash的環境安裝

3.1 使用splash的docker映象

splash的dockerfile

觀察發現splash以來環境略微i複雜,所以我們可以直接使用splash的docker映象

或者直接去splash的官方文件安裝環境

3.1.1 安裝並啟動docker服務

3.1.2 獲取splash的映象

sudo docker pull scrapinghub/splash

3.1.3 驗證

前台執行 sudo docker run -p 8050:8050 scrapinghub/splash

後台執行 sudo docker run -d -p 8050:8050 scrapinghub/splash

訪問 看到splash即成功

3.2 關閉splash服務

sudo docker ps -a

sudo docker stop id

sudo docker rm id

3.3. pip install scrapy-splash

4.在scrapy中使用splash

4.1 建立專案建立爬蟲

scrpay startproject test_splash

cd test_splash

scrapy genspider with_splash baidu.com

4.2 完善settings.py配置檔案

在settings.py檔案中新增splash的配置以及修改robots協議

# 渲染服務的url

splash_url =

''**********_middlewarles =

# 去重過濾器

dupefilter_class =

'scrapy_splash.splashawaredupefilter'

# 使用splash的http快取

false

4.3 使用splash
import scrapy

# 最大超時時間,單位秒

endpoint=

'render.html'

# 使用splash服務的固定引數

)def

parse_splash

(self,response)

:with

open

('with_splash.html'

,'w'

)as f:

f.writer(response.body.decode(

))

4.4 總結

scrapy splash抓取動態資料例子四

本例子用scrapy splash抓取微眾圈 給定關鍵字抓取諮詢資訊。給定關鍵字 打通 融合 電視 抓取資訊內如下 1 資訊標題 2 資訊鏈結 3 資訊時間 4 資訊 針對上面的 資訊,來進行抓取 1 首先抓取資訊列表 抓取 sels site.xpath li class itemtitle 2 ...

scrapy splash抓取動態資料例子八

本例子用scrapy splash抓取介面 給定關鍵字抓取諮詢資訊。給定關鍵字 個性化 融合 電視 抓取資訊內如下 1 資訊標題 2 資訊鏈結 3 資訊時間 4 資訊 針對上面的 資訊,來進行抓取 1 首先抓取資訊列表 抓取 sels site.xpath div contains class,ne...

scrapy splash抓取動態資料例子四

本例子用scrapy splash抓取微眾圈 給定關鍵字抓取諮詢資訊。給定關鍵字 打通 融合 電視 抓取資訊內如下 1 資訊標題 2 資訊鏈結 3 資訊時間 4 資訊 針對上面的 資訊,來進行抓取 1 首先抓取資訊列表 抓取 sels site.xpath li class itemtitle 2 ...