2016-04-13 56 views
1

我有一系列需要下載單個圖像的URL。通過腳本下載帶有特定Div的圖像

在標記爲每個頁面有以下

<div class="subcolumns product-hero"> 
     <div class="c60l"> 
       <img src="Cubes.png" width="300"/> 
     </div> 
</div> 

我需要最好有一類產品好漢下載專區內的圖像,或保存圖片src標籤。

這是可能通過某種自動腳本?節點/ Perl等?

回答

0

我會考慮使用Phantom.js它允許您加載和查詢純JavaScript(不需要瀏覽器)的網頁。

查看Phantom's DOM Manipulation關於如何訪問文檔,然後您可以使用vanilla javascript dom查詢(如getElementsByClassNamegetElementsByTagName)來訪問您需要的圖像。所以,你的腳本可能是這樣的:

var page = require('webpage').create(); 
console.log('The default user agent is ' + page.settings.userAgent); 
page.settings.userAgent = 'SpecialAgent'; 
page.open('http://www.httpuseragent.org', function (status) { 
    if (status !== 'success') { 
     console.log('Unable to access network'); 
    } else { 
     page.evaluate(function() { 
      var productHeros = document.getElementsByClassName('product-hero'); 
      for (var i = 0; i < productHeros.length; i++) { 
       var productHeroDiv = productHeros[i]; 
       var image = productHeroDiv.getElementsByTagName("img")[0]; 
       var source = image.src; 
      } 
     }); 
     console.log(ua); 
    } 
    phantom.exit(); 
}); 
0

鑑於網址作爲參數列表的列表:

#!/bin/bash 
for url in "[email protected]"; do 
    img_src=$(curl -s "$url" | \ 
     xmllint 2>/dev/null --recover --html --xpath \ 
     'string(//div[contains(@class, 'product-hero')]/img/@src)' -) 
    curl -O "$(dirname "$url")/$img_src" 
done