公众号封面图_图片抠图用什么软件_在线人物抠图_在线修图软件_凡客制图
当前位置:建站首页 > 新闻资讯 > 最新签约 >

聊城市网站建设难-asp.net采集页面上所有图像图片

发表日期:2021-04-22 15:27文章编辑:jianzhan浏览次数: 标签:    

--------

聊城市网站建设难

------- 收集网页页面上全部图象照片資源的实际方式 公布:昆明沃德手机软件 公布時间:2016-03⒂ 访问次数:2469
有时大家需要收集一些信息内容到自身的数据信息库,当地硬盘,大家常常应用的是WebClient,WebRequest等等,今日关键说一下,针对一个URI详细地址,收集这个网页页面上全部的图象資源,下面是源码,供大伙儿参照,学习培训。


 /// param name= charSet 总体目标网页页面的编号,假如传入的是null或 ,那就全自动剖析网页页面的编号 /param  /// returns /returns  string getHtml(string url, string charSet)  {  WebClient myWebClient = new WebClient();  //建立WebClient案例myWebClient  // 需要留意的:  //有的网页页面将会下不下来,有种种缘故例如需要cookie,编号难题等等  //这是就要实际难题实际剖析例如在头部添加cookie  // webclient.Headers.Add( Cookie , cookie);  //这样将会需要一些重载方式。依据需要写便可以了    // 資源的恳求开展身份认证的互联网凭证。  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.Grou凡科抠图[2].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;  }    string getPictures(string data, string url)  {  MatchCollection 凡科抠图 = Regex.Matches(data, @ img\b[^ ]*?\bsrc[\s\t\r\n]*=[\s\t\r\n]*[ ]?[\s\t\r\n]*(? imgUrl [^\s\t\r\n ]*)[^ ]*?/?[\s\t\r\n]* );  string s = string.Empty;  for (int i = 0; i 凡科抠图.Count; i++)  {  pictures p = new pictures(凡科抠图[i].Value, url);  s += p.GetHtml + br / + Environment.NewLine;  }  return s;  }    /// summary  /// 照片实体线  /// 照片文档特性解决类  /// /summary  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;  }  }    /// summary  /// 依据基相对路径把相对性相对路径变换成肯定径  /// /summary  /// param name= baseUrl 基本相对路径 /param  /// param name= u 待变换的相对性相对路径 /param  /// returns 肯定相对路径 /returns  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( / ) == 0) _baseUrl.Length 10)  {  src = absUrl(_baseUrl, src);  string s = src=\ + src + \ ;  _html = Regex.Replace(_html, strPattern, s);  }  }    /// summary  /// 获得HTML编码中标识特性  /// /summary  /// param name= strHtml HTML编码 /param  /// param name= strAttributeName 特性名字 /param  /// returns 特性值结合 /returns  private string[] GetAttribute(string strAttributeName)  {  List string lstAttribute = new List string  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();  }  }  } ---------

聊城市网站建设难

------------
返回列表
相关新闻