2011-04-05 77 views
0

我需要收集大量CMS內的圖像,以單一的CSS sprite中對其進行分組。但其中很多都是在CMS內的屏幕上調整大小。保存完整的網頁始終爲圖像提供原始尺寸。所以,CSS sprite生成器會以原始大小渲染它們。 CSS sprite技術基於使用帶有背景圖片的HTML元素,它只能以原始大小顯示。如何從網頁中提取圖像,並保持其顯示尺寸?

有誰知道一個應用程序或腳本,可以從網頁抓取的圖像,但他們與他們的顯示尺寸保存? (這意味着它也應該保存爲各種文件相同的圖像的各種實例)

回答

1

我知道這是一個老問題 - 但它出現在我的搜索中。

由於網頁只是將網址和顯示尺寸設置爲瀏覽器,因此瀏覽器的作業需要顯示適當的尺寸......但是瀏覽器也會考慮到您可能會使用的任何縮放設置或其他注意事項等已經確定。此外,某些元素的相對大小可能會根據您的瀏覽器視口而有所不同,例如桌面和移動設備。因此,獲取像素下載的確切像素可能會給您提供僅針對下載軟件或瀏覽器定製的誤報結果。

你最好的選擇(雖然不是一個寫好的一張像你問的軟件)可能會下載所有圖像資源的列表(用像其他人所說的那些工具 - 我喜歡這一個:http://www.webalyzing.com/free-seo-tools/image-extraction.php

如果你絕對必須有確切的像素尺寸在給定的HTML,那麼你可能需要編寫一個小DOM解析腳本,通過所有的IMG元素的迭代。這裏有一個簡單的(未經測試的)PHP示例。

$dom = new DomDocument(); 
$dom->loadHTMLFile('http://some-url'); 
$images = $dom->getElementsByTagName('img'); 
foreach($images as $image){ 
    $src = $item->getAttribute("src"); 
    // Get other attributes as needed, styles, width, etc... 
} 

等...

0

IziSEO將display the list of images與原來的寬度和高度,如果這些屬性在HTML代碼中設置。然後,您可以將該列表導出爲CSV文件並將其用於您的任何需求。

相關問題