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 使用splashimport 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 ...