C#正则获取html中的链接地址和链接文字(不要图片链接)

想获取html中的所有链接和链接文字到数组里面,忽略图片链接但是对C#不熟悉,现在已经能远程获取网页的html到变量strPageContent。但是不知道怎么继续怎么提... 想获取html中的所有链接和链接文字到数组里面,忽略图片链接
但是对C#不熟悉,现在已经能远程获取网页的html到变量strPageContent。
但是不知道怎么继续 怎么提取html中的文本链接。

以前用过一个php写的
=========================
//取得HTML代码中所有链接
function get_all_url($code){
preg_match_all('/<a\s+href=["|\']?([^>"\' ]+)["|\']?\s*[^>]*>([^>]+)<\/a>/i',$code,$arr);
return array('title'=>$arr[2],'url'=>$arr[1]);
}
展开
 我来答
fxy6781349
推荐于2016-05-08 · 超过40用户采纳过TA的回答
知道答主
回答量:95
采纳率:0%
帮助的人:122万
展开全部
/// <summary>
/// 加载源码
/// </summary>
/// <param name="html">源文件</param>
private void Load(string html)
{
List<string> hrefList = new List<string>();//链接
List<string> nameList = new List<string>();//链接名称

string pattern = @"<a\s*href=(""|')(?<href>[\s\S.]*?)(""|').*?>\s*(?<name>[\s\S.]*?)</a>";
MatchCollection mc = Regex.Matches(html, pattern);
foreach (Match m in mc)
{
if (m.Success)
{
//加入集合数组
hrefList.Add(m.Groups["href"].Value);
nameList.Add(m.Groups["name"].Value);
}
}
}
不知道你对C#知道多少 这个应该能看懂哈
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
石哥在拌饭
2012-02-19 · TA获得超过530个赞
知道小有建树答主
回答量:573
采纳率:100%
帮助的人:568万
展开全部
string html="你获取的HTML字符串";
MatchCollection mc = Regex.Matches(str, @"<a.+>.+</a>");
foreach (Match m in mc)
{
if (m.Success)
{
//这里遍历保存 m.Value 就是数据
Console.WriteLine(m.Value);
}
}
追问
太简陋了。
不能忽略图片链接。而且不能分别返回文字和链接
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式