Asp.net 使用正则和网络编程抓取网页数据(实用)
2014-05-19 22:28
363 查看
Asp.net 使用正则和网络编程抓取网页数据(实用)
Asp.net 使用正则和网络编程抓取网页数据(实用)/// <summary> /// 抓取网页相应内容 /// </summary> /// <param name="strUrl">采集地址</param> /// <param name="Begin">开始字符</param> /// <param name="End">结束字符</param> /// <returns></returns> private static String GetContent(String strUrl, String Begin, String End) { String result = String.Empty; HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strUrl); HttpWebResponse response = (HttpWebResponse)request.GetResponse(); using (StreamReader reader = new StreamReader(response.GetResponseStream(), System.Text.Encoding.Default)) { result = reader.ReadToEnd(); reader.Close(); response.Close(); } //抓取内容 Match table = Regex.Match(result, "(?<=" + Begin + ")[\\s\\S]*?(?=" + End + ")", RegexOptions.IgnoreCase); result = NoHTML(table.Value); return result; } ///<summary> ///去除HTML标记 ///</summary> ///<param name="NoHTML">包括HTML的源码 </param> ///<returns>已经去除后的文字</returns> private static string NoHTML(string Htmlstring) { //删除脚本 Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase); //删除HTML Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", "\"", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", " ", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "\xa1", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "\xa2", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "\xa3", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "\xa9", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, @"(\d+);", "", RegexOptions.IgnoreCase); Htmlstring = Regex.Replace(Htmlstring, ">", ""); Htmlstring = Regex.Replace(Htmlstring, "<", ""); Htmlstring = Regex.Replace(Htmlstring, "\r\n", ""); Htmlstring = Htmlstring.Substring(Htmlstring.IndexOf("\n") + 1); if (Htmlstring.LastIndexOf("'") >= 0) Htmlstring = Htmlstring.Substring(Htmlstring.LastIndexOf("'") + 1); if (Htmlstring.IndexOf("class='tdbk'") >= 0) Htmlstring = Htmlstring.Substring(Htmlstring.IndexOf("class='tdbk'") + "class='tdbk'".Length); return Htmlstring; }
相关文章推荐
- Asp.net 使用正则和网络编程抓取网页数据(有用)
- NET 使用HtmlAgilityPack抓取网页数据
- ASP.NET 抓取网页内容-Post 数据
- 分享Asp.net做的几个实用示例,数据报表、二维码、数据抓取、批量上传图片
- 使用PHP的CURL模拟POST采集开了viewstate的asp.net网页数据
- asp.net服务端使用正则表达式验证数据合法性.
- php使用curl和正则表达式抓取网页数据示例
- 《程序员的第一年》---------- 【抓取网页数据】定时查寻淘宝搜索结果并用excel记录下来(HttpWebRequest与正则等的使用)
- 使用PHP的CURL模拟POST采集开了viewstate的asp.net网页数据
- c#网页数据抓取/asp.net网页数据抓取
- 使用PHP的CURL模拟POST采集开了viewstate的asp.net网页数据
- asp.net的抓取网页数据源码
- ASP.NET网页抓取数据
- 在asp.net 2.0中使用SqlBulkCopy类迁移数据
- "ASP.NET 管理实用工具"使用方法
- 使用ComponentArt.WebUI.for.Asp.net.3.0的TreeView控件实现数据驱动的无限级分类管理[图文教程]
- 如何使用 ASP.NET查询和显示 Excel 数据
- 进入 ASP.NET 世界 - 第 2 部分:使用 SQL Server 2000 创建数据存储层
- 使用ASP.NET定制数据验证控件