老衲

^_^劫色的.net
随笔 - 7, 文章 - 1, 评论 - 28, 阅读 - 20058
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

获取网站图片大小尺寸

Posted on   xiangxiang  阅读(2563)  评论(0编辑  收藏  举报

前一段时间研究了一下抓取网站的东东,有个很好的工具wget,很多unix操作系统是默认安装的,也有windows版本的wgetwin,大家可以去g一下。
这两天又需要一个抓取网页图片的程序,设想可以通过分析网页源代码获取网页上图片的链接,然后跟踪这些链接获取图片信息,然后下载指定尺寸或大小的图片。
写了一段代码

private void PrintImg(string baseUrl,stringparamID)
  {
   this.Response.Clear();   
 
   string   strUrl2=baseUrl+"icon/"+paramID+".gif";  
   System.Net.HttpWebRequest hwreq = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(strUrl2);  
   System.Net.HttpWebResponse hwrep= (System.Net.HttpWebResponse)hwreq.GetResponse();  
   System.Drawing.Image        bmp =  System.Drawing.Image.FromStream(hwrep.GetResponseStream());

   System.IO.MemoryStream ms = new MemoryStream();
   bmp.Save(ms,ImageFormat.Png);

   Response.ClearContent(); //需要输出图象信息 要修改HTTP头
   Response.ContentType = "image/gif";
   Response.BinaryWrite(ms.ToArray());  

   this.Response.End();
  }

不过通过虚拟路径抓取远程图片时,如果网络很慢或者连接不通的时候会发生异常
所以在GetResponse的时候:
try
{
   System.Net.HttpWebResponse hwrep= (System.Net.HttpWebResponse)hwreq.GetResponse();  
}
catch
{
   throw new ApplicationException("network exception");
}

此方法在获取HttpWebResponse 对象的时候很慢,要了解此情况的存在,布置好你的应用程序

编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示