Csharp/C#教程:C#抓取网页数据 解析标题描述图片等信息 去除HTML标签分享

一、首先将网页内容整个抓取下来,数据放在byte[]中(网络上传输时形式是byte),进一步转化为String,以便于对其操作,实例如下:

代码如下:
privatestaticstringGetPageData(stringurl)
{
   if(url==null||url.Trim()==””)
       returnnull;
   WebClientwc=newWebClient();
   wc.Credentials=CredentialCache.DefaultCredentials;
   Byte[]pageData=wc.DownloadData(url);
   returnEncoding.Default.GetString(pageData);//.ASCII.GetString
}

二、得到了数据的字符串形式,然后可以对网页进行解析了(其实就是对字符串的各种操作和正则表达式的应用):

常用的的解析还有以下几种:

1.获取标题

代码如下:
MatchTitleMatch=Regex.Match(strResponse,”<title>([^<]*)</title>”,RegexOptions.IgnoreCase|RegexOptions.Multiline);
title=TitleMatch.Groups[1].Value;

2.获取描述信息

代码如下:
MatchDesc=Regex.Match(strResponse,”<metaname=”DESCRIPTION”content=”([^<]*)”>”,RegexOptions.IgnoreCase|RegexOptions.Multiline);
strdesc=Desc.Groups[1].Value;

3.获取图片

代码如下:
publicclassHtmlHelper
{
   ///<summary>
   ///HTML中提取图片地址
   ///</summary>
   publicstaticList<string>PickupImgUrl(stringhtml)
   {
       RegexregImg=newRegex(@”<imgb[^<>]*?bsrc[strn]*=[strn]*[“”‘]?[strn]*(?<imgUrl>[^strn””‘<>]*)[^<>]*?/?[strn]*>”,RegexOptions.IgnoreCase);
       MatchCollectionmatches=regImg.Matches(html);
       List<string>lstImg=newList<string>();
       foreach(Matchmatchinmatches)
       {
           lstImg.Add(match.Groups[“imgUrl”].Value);
       }
       returnlstImg;
   }
   ///<summary>
   ///HTML中提取图片地址
   ///</summary>
   publicstaticstringPickupImgUrlFirst(stringhtml)
   {
       List<string>lstImg=PickupImgUrl(html);
       returnlstImg.Count==0?string.Empty:lstImg[0];
   }
}

4.去除Html标签

代码如下:
privatestringStripHtml(stringstrHtml)
{
   RegexobjRegExp=newRegex(“<(.|n)+?>”);
   stringstrOutput=objRegExp.Replace(strHtml,””);
   strOutput=strOutput.Replace(“<“,”<“);
   strOutput=strOutput.Replace(“>”,”>”);
   returnstrOutput;
}

有些例外会使得去除不干净,所以建议连续两次转化。这样将Html标签转化为了空格。太多连续的空格会影响之后对字符串的操作。所以再加入这样的语句:

代码如下:
//把所有空格变为一个空格
Regexr=newRegex(@”s+”);
wordsOnly=r.Replace(strResponse,””);
wordsOnly.Trim();

您可能感兴趣的文章:C#实现json格式数据解析功能的方法详解C#仪器数据文件解析Excel文件的方法浅析(xls、xlsx)C#模拟链表数据结构的实例解析C#实现解析百度天气数据,Rss解析百度新闻以及根据IP获取所在城市的方法c#版json数据解析示例分享解析使用C#lock同时访问共享数据C#如何利用结构体对固定格式数据进行解析

标签: 标签 图片 数据

C语言中system()执行cmd命令打开关闭程序的方法

详解C++中string的用法和例子

上述就是C#学习教程:C#抓取网页数据 解析标题描述图片等信息 去除HTML标签分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

www.ctvol.com true Article Csharp/C#教程:C#抓取网页数据 解析标题描述图片等信息 去除HTML标签分享

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/907088.html

(0)
上一篇 2021年10月24日 上午10:41
下一篇 2021年10月24日 上午10:42

精彩推荐