3

VB.NET (2010) を使用して、特定の Web ページに表示される各画像の絶対 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 を抽出する必要があります。

それを行う 1 つの方法は、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

どうすればそのようなことを達成できるか知っている人はいますか? または、気が遠くなるような量の正規表現とロジックを含まない他のアイデアはありますか? :)

前もって感謝します!

4

1 に答える 1