博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
下载网页通用类
阅读量:5987 次
发布时间:2019-06-20

本文共 2252 字,大约阅读时间需要 7 分钟。

///     /// 根据网页地址去下载网页,包括从网页中获取自己所需要的内容    ///     public class WebWrapper    {        public WebWrapper() { }        public WebWrapper(string link) { Link = link; }        #region Download html        public string Link { get; set; }        public string DownLoadHtml(string link)        {            string htmlString = string.Empty;            try            {                WebRequest webRequest = System.Net.WebRequest.Create(link);                webRequest.Method = "GET";                webRequest.ContentType = "application/x-www-form-urlencoded";                using (StreamReader sr = new StreamReader(webRequest.GetResponse().GetResponseStream()))                {                    htmlString = sr.ReadToEnd();                }            }            catch (Exception ex)            {                throw new ApplicationException(string.Format("Error Downloading CurrencyRate: {0}", ex.Message));            }            return htmlString;        }        public string DownLoadHtml()        {            if (string.IsNullOrEmpty(Link))                throw new ApplicationException("Please input web address");            return DownLoadHtml(Link);        }        #endregion        #region Get matched content        public string GetContent(string html, string regexExpress)        {            Regex re = new Regex(regexExpress);            MatchCollection ms = re.Matches(html);            if (ms == null || ms.Count == 0)                throw new ApplicationException("Can not find matched content");            return ms[0].ToString();        }        public string GetContent(string regexExpress)        {            string html = DownLoadHtml();            return GetContent(html, regexExpress);        }        #endregion        #region Regex Properties        public string BeginConstruction = "(?<=({0}))";        public string EndConstruction = "(?=({0}))";        public string RegexBeginExpression(string begin) { return string.Format(BeginConstruction, begin); }        public string RegexEndExpression(string end) { return string.Format(EndConstruction, end); }        public string RegexAnyExpression { get { return "[.\\s\\S]*?"; } }        #endregion    }

  

转载于:https://www.cnblogs.com/EasyInvoice/p/3808844.html

你可能感兴趣的文章
CentOS 6.x 快速安装L2TP ***
查看>>
一篇文章能够看懂基础源代码之JAVA篇
查看>>
Goldengate双向复制配置
查看>>
Oracle官方内部MAA教程
查看>>
DNS相关配置
查看>>
miniWindbg 功能
查看>>
《Cisco IPv6网络实现技术(修订版)》一2.6 配置练习:使用Cisco路由器配置一个IPv6网络...
查看>>
《可穿戴创意设计:技术与时尚的融合》一一第2章 与可穿戴设备有关的故事...
查看>>
ruby动态new对象
查看>>
Linux中grep命令的12个实践例子
查看>>
使用Docker Compose部署基于Sentinel的高可用Redis集群
查看>>
树与森林的存储、遍历和树与森林的转换
查看>>
Android自定义属性
查看>>
代码重构(五):继承关系重构规则
查看>>
Windows App开发之集合控件与数据绑定
查看>>
中大型网站技术架构演变过程
查看>>
ARTS训练第三周
查看>>
vue中v-for循环如何将变量带入class的属性名中
查看>>
phpstorm xdebug remote配置
查看>>
引用与指针的区别
查看>>