全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
using System;using System.Collections.Generic;using System.Linq;using System.Web;using System.Web.Mvc;using System.Net;using System.IO;using System.Text;using System.Text.RegularExpressions;namespace Syccw.Controllers public class Get_Url / / 获取网页中全部图片 / / 网页地址 / 网页编码,为空自动判断 / 全部图片显示代码 public string getImages(string url,string charSet) string s = getHtml(url, charSet); return getPictures(s, url); / / 获取网页中全部图片 / / 网址 / 全部图片代码 public string getImages(string url) return getImages(url, ); public string doman(string url) Uri u = new Uri(url); return u.Host; / / 获取网页内容 / / 网站地址 / 目标网页的编码,如果传入的是null或者,那就自动分析网页的编码 / public 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, meta(*)charset=(*), RegexOptions.IgnoreCase | RegexOptions.Multiline); string webCharSet = charSetMatch.Groups2.Value.Replace(, ); if (charSet = null | charSet = ) charSet = webCharSet; if (charSet != null & charSet != & Encoding.GetEncoding(charSet) != Encoding.Default) strWebData = Encoding.GetEncoding(charSet).GetString(myDataBuffer); return strWebData; public string getPictures(string data, string url) MatchCollection ps = Regex.Matches(data, imgb*?bsrcstrn*=strn*?strn*(?strn*)*?/?strn*); string s = string.Empty; for (int i = 0; i ps.Count; i+) pictures p = new pictures(psi.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 = srcstrn*=strn*?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) List lstAttribute = new List(); string strPattern = string.Format( 0strn*=strn*?S+?, strAttributeName ); MatchCollection matchs = Regex.Matches(_html, strPattern, RegexOptions.IgnoreCase); fo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年上海艺术插花试题及答案
- 2026年怀化初中物理竞赛试题及答案
- 深度解析(2026)《GBT 30001.2-2013信息技术 基于射频的移动支付 第2部分:卡技术要求》
- 深度解析(2026)《GBT 29841.1-2013卫星定位个人位置信息服务系统 第1部分:功能描述》
- 2026高考三轮复习备考方案:跳出刷题内卷完成从“会做题”到“稳得分”的终极跨越
- 《GBT 4476.4-2008金属船体制图 第4部分:尺寸注法》(2026年)合规红线与避坑实操手册
- 《GBT 749-2008水泥抗硫酸盐侵蚀试验方法》(2026年)合规红线与避坑实操手册
- 《DLT 698.42-2013电能信息采集与管理系统 第4-2部分:通信协议-集中器下行通信》(2026年)合规红线与避坑实操手册
- 2026年生物技术研发合同
- 某省市普通高中招生考试化学创新卷二
- 钢连廊吊顶及屋顶幕墙安装施工方案
- 2026年北京市顺义区高三一模语文试题
- 公司业务首单奖励制度
- 【《斯特林发动机的发展现状与趋势文献综述》1800字】
- 塔吊安拆工培训
- 常用英语不规则动词时态完全解析
- 沈阳汽车集团有限公司招聘笔试题库2026
- 深圳市2025年生地会考试卷及答案
- 江南史学习通超星期末考试答案章节答案2024年
- 干式变压器培训课件
- 钢结构施工技术指导手册
评论
0/150
提交评论