我正在尝试使用 VB.NET (2010) 来获取出现在特定网页上的每个图像的绝对 URL。到目前为止,我已经弄清楚如何获取图像标签内的所有 URL,就像这样......
For Each SeparateImage As HtmlElement In WebBrowser1.Document.Images
ListBox1.Items.Add(SeparateImage.GetAttribute("src"))
Next
这完美无缺。但我不知道如何提取出现在 CSS 样式中的图像 URL。例如...
background-image:url('image.jpg');
有谁知道一个简单的方法来做到这一点?我不仅需要从内联 CSS 代码中提取图像 URL,还需要从外部样式表中提取图像 URL。
我认为一种方法是获取整个 HTML 页面页面和相关 CSS 样式表的源代码,然后使用一堆字符串拆分和/或正则表达式解析出所有图像 URL。但是,由于我可能会遇到“相对”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
有谁知道我如何能够完成这样的事情?或者有任何其他不涉及令人麻木的正则表达式和逻辑的想法?:)
提前致谢!