首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

c#请教如何提取网页中图片元素带有的连接

2013-01-23 
c#,请问怎么提取网页中图片元素带有的连接本帖最后由 superchair 于 2013-01-15 19:11:18 编辑C#例如某个

c#,请问怎么提取网页中图片元素带有的连接
本帖最后由 superchair 于 2013-01-15 19:11:18 编辑 C#
例如某个网站中
<a href="xxx"><img src="ooo"></a>
这样的混合的,其中XXX是点击图片进去的网址OOO是图片的地址,我想分别获取这两个。

如果单纯图片的我知道了
HtmlElementCollection elemColl1 = this.webBrowser1.Document.GetElementsByTagName("img");
ImgUrl = elem.GetAttribute("src");

但是混合起来就有点小问题了~~主要是如果吧HtmlElementCollection elemColl1 = this.webBrowser1.Document.GetElementsByTagName("img");换成
HtmlElementCollection elemColl1 = this.webBrowser1.Document.GetElementsByTagName("a");
貌似就取不到东西了!
[解决办法]
用正则

 
using System.Text.RegularExpressions;

Regex regx = new Regex("src="([\\s\\S].*?)"");
 MatchCollection mc = regx.Matches(this.webBrowser1.DocumentText);
 foreach (Match m in mc)
 {
     string strFile = m.ToString();  //图片路径
 }

[解决办法]
string str = "<a href="xxx"><img src="ooo"></a>";
            var ary = Regex.Matches(str, @"(?is)<a[^>]*?href=[""']([^""'>]+)[^>]*><img[^>]*?src=[""']([^""']+)[^>]*").OfType<Match>().Select(t => new { href = t.Groups[1].Value, src = t.Groups[2].Value }).ToArray();
 

热点排行