正規表現を使って、HTMLのリンクTAGをリストボックスに入れる方法を教えて下さい。
投稿者 るきお  (社会人)
投稿日時
2011/4/13 20:57:11
情報はギブアンドテイクでお願いします。
>メールアドレスやリンクの抽出方法とかはWEBで探して方法は見つけたのですが、一つのページのHTMLにリンクが沢山ある場合があります。
その方法を載せてください。
回答する側も何も情報がないのと、とっかかりのプログラムがあるのとでは大違いです。
ご質問の件、試しに書いてみましたがこんなところでどうでしょうか?
このプログラムはいろいろと考慮されていないことはありますが、多くのケースでAタグの情報を抜き出すことができます。
対象のサイトはutf-8で記述されていることが前提です。
>メールアドレスやリンクの抽出方法とかはWEBで探して方法は見つけたのですが、一つのページのHTMLにリンクが沢山ある場合があります。
その方法を載せてください。
回答する側も何も情報がないのと、とっかかりのプログラムがあるのとでは大違いです。
ご質問の件、試しに書いてみましたがこんなところでどうでしょうか?
Dim internet As New Net.WebClient
Dim html As String = internet.DownloadString("http://www.nifty.com/")
internet.Dispose()
Dim regop As System.Text.RegularExpressions.RegexOptions = System.Text.RegularExpressions.RegexOptions.IgnoreCase Or System.Text.RegularExpressions.RegexOptions.Singleline
Dim pattern As String = "\<a.*?(href=[""'](?<href>.*?)[""']).*?\>(?<InnerHtml>.*?)\</a.*?\>"
Dim regex As New System.Text.RegularExpressions.Regex(pattern, regop)
ListBox1.Items.Clear()
For Each match As System.Text.RegularExpressions.Match In regex.Matches(html)
Dim href As String = match.Groups("href").Value
Dim innerHtml As String = match.Groups("InnerHtml").Value
ListBox1.Items.Add(href & " " & innerHtml)
Next
このプログラムはいろいろと考慮されていないことはありますが、多くのケースでAタグの情報を抜き出すことができます。
対象のサイトはutf-8で記述されていることが前提です。
投稿者 太一  (社会人)
投稿日時
2011/4/13 22:59:31
ろきお様
大変失礼しました
こちらを参考にして、いろいろ試していました。
グループ化とリストボックスへ入れ込みがよく分かりませんでした。
http://code.msdn.microsoft.com/VB-b67cc93d/
http://dobon.net/vb/dotnet/string/regexmatch.html#section2
有り難うございました。
大変失礼しました
こちらを参考にして、いろいろ試していました。
グループ化とリストボックスへ入れ込みがよく分かりませんでした。
http://code.msdn.microsoft.com/VB-b67cc93d/
http://dobon.net/vb/dotnet/string/regexmatch.html#section2
有り難うございました。
メールアドレスやリンクの抽出方法とかはWEBで探して方法は見つけたのですが、一つのページのHTMLにリンクが沢山ある場合があります。
それを順に抽出して、リストボックスに入れていきたいのですが、方法を教えて下さい。
VB2005です。