asp.net怎么采集页面上所有图像图片资源
发表于:2025-11-16 作者:千家信息网编辑
千家信息网最后更新 2025年11月16日,这篇文章主要讲解了"asp.net怎么采集页面上所有图像图片资源",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"asp.net怎么采集页面上所有图像图片
千家信息网最后更新 2025年11月16日asp.net怎么采集页面上所有图像图片资源
这篇文章主要讲解了"asp.net怎么采集页面上所有图像图片资源",文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习"asp.net怎么采集页面上所有图像图片资源"吧!
////// 下载指定URL下的所有图片 /// public class WebPageImage { ////// 获取网页中全部图片 /// /// 网页地址 /// 网页编码,为空自动判断 ///全部图片显示代码 public string getImages(string url, string charSet) { string s = getHtml(url, charSet); return getPictures(s, url); } ////// 获取网页中全部图片 /// /// 网址 ///全部图片代码 public string getImages(string url) { return getImages(url, ""); } string doman(string url) { Uri u = new Uri(url); return u.Host; } ////// 获取网页内容 /// /// 网站地址 /// 目标网页的编码,如果传入的是null或者"",那就自动分析网页的编码 ///string getHtml(string url, string charSet) { WebClient myWebClient = new WebClient(); //创建WebClient实例myWebClient // 需要注意的: //有的网页可能下不下来,有种种原因比如需要cookie,编码问题等等 //这是就要具体问题具体分析比如在头部加入cookie // webclient.Headers.Add("Cookie", cookie); //这样可能需要一些重载方法。根据需要写就可以了 //获取或设置用于对向 Internet 资源的请求进行身份验证的网络凭据。 myWebClient.Credentials = CredentialCache.DefaultCredentials; //如果服务器要验证用户名,密码 //NetworkCredential mycred = new NetworkCredential(struser, strpassword); //myWebClient.Credentials = mycred; //从资源下载数据并返回字节数组。(加@是因为网址中间有"/"符号) byte[] myDataBuffer = myWebClient.DownloadData(url); string strWebData = Encoding.Default.GetString(myDataBuffer); //获取网页字符编码描述信息 Match charSetMatch = Regex.Match(strWebData, "]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[""']?[\s\t\r\n]*(? [^\s\t\r\n""'<>]*)[^<>]*?/?[\s\t\r\n]*>"); string s = string.Empty; for (int i = 0; i < ps.Count; i++) { pictures p = new pictures(ps[i].Value, url); s += p.GetHtml + "
" + Environment.NewLine; } return s; } ////// 图片实体 /// 图片文件属性处理类 /// public class pictures { public pictures(string strHtml, string baseUrl) { _html = strHtml; Uri u1 = new Uri(baseUrl); _doman = u1.Host; _baseUrl = u1.Scheme + "://" + _doman; setSrc(); } private string _html = string.Empty; private string _baseUrl = string.Empty; private string _doman = string.Empty; public string GetHtml { get { return _html; } } public string Alt { get { return GetAttribute("alt")[0]; } } public string Src { get { string s = GetAttribute("src")[0]; return s; } } ////// 根据基路径把相对路径转换成绝对径 /// /// 基础路径 /// 待转换的相对路径 ///绝对路径 public string absUrl(string baseUrl, string u) { Uri ub = new Uri(baseUrl); Uri ua = new Uri(ub, u); return ua.AbsoluteUri; } private void setSrc() { string strPattern = @"src[\s\t\r\n]*=[\s\t\r\n]*[""']?\S+[""']?"; string src = GetAttribute("src")[0].ToLower(); if (!(src.IndexOf("http://") == 0 || src.IndexOf("https://") == 0) && _baseUrl.Length > 10) { src = absUrl(_baseUrl, src); string s = "src=\"" + src + "\""; _html = Regex.Replace(_html, strPattern, s); } } ////// 获取HTML代码中标签属性 /// /// HTML代码 /// 属性名称 ///属性值集合 private string[] GetAttribute(string strAttributeName) { ListlstAttribute = new List (); string strPattern = string.Format( @"{0}[\s\t\r\n]*=[\s\t\r\n]*[""']?\S+[""']?", strAttributeName ); MatchCollection matchs = Regex.Matches(_html, strPattern, RegexOptions.IgnoreCase); foreach (Match m in matchs) { lstAttribute.Add(m.Value.Split('=')[1].Replace("\"", "").Replace("'", "")); } if (lstAttribute.Count == 0) lstAttribute.Add(""); return lstAttribute.ToArray(); } } }
调用:
new WebPageImage().getImages(http://www.sina.com)
感谢各位的阅读,以上就是"asp.net怎么采集页面上所有图像图片资源"的内容了,经过本文的学习后,相信大家对asp.net怎么采集页面上所有图像图片资源这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是,小编将为大家推送更多相关知识点的文章,欢迎关注!
图片
网页
资源
编码
路径
图像
图片资源
页面
代码
属性
内容
问题
学习
验证
地址
网址
分析
凭据
原因
名称
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
专网网络安全试题
网络安全技术应用大赛
小学生网络安全教育具体内容
奥巴马的网络安全演讲
计算机基础与网络技术课本
服务器配置4ghz什么意思
网络安全大队先进做法
服务器管理口默认
网络安全考什么
交管实人认证服务器异常
郑州迈创互联网科技有限公司
SCDM 软件开发
tmb值高于内部数据库37患者
sql查询关系数据库
如何买服务器主机
组宣部网络安全工作责任状
计算机网络技术第一章说课
和平精英的服务器配置怎么调
视频游戏软件开发上市公司
互联网科技房地产
数据库检索途径
河南拓嘉网络技术科技
井冈山手机软件开发
肯巴沃克数据库
东莞新华互联网科技有限公司
江苏安卓软件开发哪里好
软件开发计划汽车
烟台龙口dns的服务器地址
芬尼网络安全吗
专业嵌入式软件开发书怎么样