我正在嘗試使用VB.NET(2010)獲取出現在特定網頁上的每個圖像的絕對URL。到目前爲止,我已經想出瞭如何獲取圖片標籤中的所有網址,例如...如何獲取網頁上出現的所有圖片的網址列表?
For Each SeparateImage As HtmlElement In WebBrowser1.Document.Images
ListBox1.Items.Add(SeparateImage.GetAttribute("src"))
Next
這很好用。但我無法弄清楚的是如何提取出現在CSS樣式中的圖片網址。例如...
background-image:url('image.jpg');
有沒有人知道一個簡單的方法來做到這一點?我不僅需要從內聯CSS代碼中提取圖片URL,還需要從外部樣式表中提取圖片URL。
我認爲這樣做的一種方法是獲取整個HTML頁面和相關CSS樣式表的源代碼,然後使用一堆字符串分割和/或正則表達式解析出所有圖像URL。但是,要弄清楚每張圖片的正確的絕對網址可能會相當複雜,因爲我可能會遇到「相對」URL路徑的所有不同可能性。例如...
background-image:url('image.jpg');
background-image:url('/image.jpg');
background-image:url('./image.jpg');
background-image:url('../image.jpg');
background-image:url('../otherdirectory/image.jpg');
所以......這將是非常好的,如果這樣的事情存在?
For Each CSS_Style As HtmlElement In WebBrowser1.Document.Styles
ListBox1.Items.Add(CSS_Style.GetAttribute("background-image"))
Next
有誰知道我如何能夠完成這樣的事情?還是有任何其他想法不涉及大量的正則表達式和邏輯? :)
在此先感謝!