URLアクセスしHTMLタグ内から先頭のimgタグを抽出する方法について
こんにちは、エンジニアのR.Nです。
今回のテクヤンは、
C#と正規表現を用いて、特定URLへアクセスし、
対象のタグを抽出する方法をご紹介致します。
まず、URLより、HTMLタグを抽出方法を、以下のサンプルで説明します。
HTMLタグ抽出
【HTMLタグ抽出サンプルコード】 using System.Net; string html = string.Empty; // HTML取得 using (WebClient wc = new WebClient()) { html = wc.DownloadString("http://mindfree.jp"); }
変数名:htmlに、指定したURLページのHTMLがすべて返ってきます。
この文字列から、正規表現を使いimgタグを抽出します。
HTMLタグ抽出+imgタグ抽出
【HTMLタグ抽出+imgタグ抽出サンプルコード】 using System.Net; using System.Text.RegularExpressions; string html = string.Empty; // HTML取得 using (WebClient wc = new WebClient()) { html = wc.DownloadString("http://mindfree.jp"); } // imgタグ取得 string img = "<img src=\"(?<text>.*?)\".*?>"; Regex reImage = new Regex(img, RegexOptions.IgnoreCase | RegexOptions.Singleline); for (Match m = reImage.Match(html); m.Success; m = m.NextMatch()) { string u = m.Groups["text"].Value; }
m.Groups["text"].Valueからimgタグのsrcの値だけを抽出します。
例)
imgタグ:<img src="/common/images/nav_freemind.png" alt="FREEMIND">
m.Groups["text"].Value:/common/images/nav_freemind.png
サイトで使用しているアイコン、
画像情報を簡単に抽出することができますね。