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

C#抓取网页中含有特定字符串的链接解决办法

2013-01-25 
C#抓取网页中含有特定字符串的链接如题如腾讯NBA页面http://sports.qq.com/nba/我要获取该页面所有含有“/a

C#抓取网页中含有特定字符串的链接
如题

如腾讯NBA页面http://sports.qq.com/nba/
我要获取该页面所有含有“/a/201301”的链接地址,存储到c:/sport_url.txt

请问如何实现
[解决办法]
用正则表达式

[解决办法]

引用:
引用:用正则表达式
正则得写死吧?
我要想实现的是给用户一个text输入框,用户可以自定义这个字符串,然后爬取含有此字符串的所有链接。

拼接正则表达式
[解决办法]
  string url = "http://sports.qq.com/nba/";
            string html = GetHtml(url, Encoding.GetEncoding("gb2312"));
            string str = "/a/201301";
            string pattern = @"(?is)(?<=<a[^>]*?href=[""'])[^""']*?" + str + @"[^""']*[""'](?=[^>]*>)";
            var ary = Regex.Matches(html, pattern).OfType<Match>().Select(t => t.Value).ToArray();
           
[解决办法]
还是正则比较方便
[解决办法]
先匹配出所有连接地址,然后IndexOf,如果用户输入的有些字符不太规范的话,拼接正则有可能会出现错误的表达式额~
[解决办法]
应该用正则表达式

热点排行