简单的一个下载如下 :

         string url = "http://avatar.csdn.net/A/2/6/2_yefengzhixia.jpg";string filepath = "D:\\pic.jpg";WebClient mywebclient = new WebClient();mywebclient.DownloadFile(url, filepath);MessageBox.Show("OK");    

下面演示一个从网站中下载所有图片到本地:

1、界面设计:

<Grid><DockPanel><GroupBox x:Name="groupBox" Header="图片网址" DockPanel.Dock="Top"><StackPanel><StackPanel Orientation="Horizontal" Margin="10" ><Button x:Name="button" Content="查看网页中的图片" Margin="5" Click="button_Click"  /><TextBlock Text="网址:"></TextBlock><TextBox x:Name="textBox" Text="http://www.tooopen.com/img/87.aspx" HorizontalAlignment="Left" MaxWidth="600" TextWrapping="Wrap" MinWidth="300"  VerticalAlignment="Top"  /></StackPanel><TextBlock Text="下载信息:"></TextBlock><TextBlock Margin="10" Name="txtcount" Text="{Binding downCount}"></TextBlock><TextBlock Name="total"></TextBlock><Button Click="Button_Click_1" Content="打开下载图片文件夹"></Button></StackPanel></GroupBox><ListBox Name="lb"></ListBox></DockPanel></Grid>

2、代码

 public partial class MainWindow : Window,INotifyPropertyChanged{public MainWindow(){InitializeComponent();this.DataContext = this;}private int c;public int downCount{get { return c; }set { c = value;if (PropertyChanged != null)PropertyChanged(this, new PropertyChangedEventArgs("downCount"));}}public ObservableCollection<string> list = new ObservableCollection<string>();public event PropertyChangedEventHandler PropertyChanged;private async void button_Click(object sender, RoutedEventArgs e){var path = textBox.Text;if (string.IsNullOrWhiteSpace(path)){textBox.Focus();MessageBox.Show("请输入网站地址");return;}HttpClient client = new HttpClient();var str = await client.GetStringAsync(new Uri(path));Regex rg = new Regex("<img.+?src=\"(.+?)\"");var mth = rg.Matches(str);WebClient wc = null;int i = 0;total.Text="共有图片:"+mth.Count;Action<string> listboxAddImgName = x => {lb.Items.Add(x);};foreach (Match item in mth){i++;var img = item.Groups[1].Value;string Ex = img.Substring(img.LastIndexOf("."));string imgName = i + Ex;Task.Run(() =>{wc = new WebClient();wc.DownloadFile(img, "DownLoadImages/" + imgName);return imgName;}).ContinueWith(r=> {downCount +=1;Dispatcher.Invoke(listboxAddImgName,r.Result);});}}private void Button_Click_1(object sender, RoutedEventArgs e){System.Diagnostics.Process.Start(Environment.CurrentDirectory+"/DownLoadImages");}}

另一个方法,使用线程不完整,以后再完善:

  HttpClient client = new HttpClient();var http = await client.GetStringAsync(txturl.Text.Trim());Regex rg = new Regex("<img.+?src=\"(.+?)\"");var ms = rg.Matches(http);List<Task> tasklist = new List<Task>();count = ms.Count;foreach (Match m in ms){if (m.Success){string imgurl = m.Groups[1].ToString();Task.Run(async () =>{var downImgurl = System.IO.Path.Combine(path, imgurl.Substring(imgurl.LastIndexOf(@"/") + 1));WebClient wc = new WebClient();wc.DownloadFile(imgurl, downImgurl);//byte[] buf = await client.GetByteArrayAsync(imgurl);//File.WriteAllBytes(downImgurl, buf);lock (obj){Dispatcher.Invoke(() =>{list.Add(new Img() { url = downImgurl });});num++;}});}}

转载于:https://www.cnblogs.com/lunawzh/p/5975271.html

下载网页中的图片到本地相关推荐

  1. 如何下载网页中的图片

    http://qzher.com/?p=218 如何下载网页中的图片 发表日期 2016年4月25日 by qzher https://tuchong.com/1181287/12974705/ 怎么 ...

  2. go语言并发下载电影和视频,根据m3u8索引url下载视频.下载网页中的图片,可以从当前页向下搜索层数.

    一,根据URL的m3u8索引,下载视频文件. 二,下载网页中的图片. 为了家里小朋友,要下载一个视频,放在电视上看. 所以利用一点时间,写了这个简单下载程序.如果视频有加密,会对其解密. 最近下点图片 ...

  3. python 批量下载网页图片_Python 实现简单的爬虫功能 -----批量下载网页中的图片...

    我使用的是macPro , mac 自带了python2.7 , 我自己下载了pytho3.6根据操作进行安装后,终端默认的还是 python 2.7, 需要修改为 Python3.6 进入 ~/.b ...

  4. 前嗅教你大数据:批量采集/下载网页中的图片数据

    l 采集网站 [场景描述]采集revisionvillage网页中所有真题图片的数据. [源网站介绍]revisionvillage,国外知名IB真题网站,每道题都有视频讲解的IB数学刷题网站. [使 ...

  5. Python 爬虫篇-利用urllib库下载网页中的图片实例演示

    我们用的是 urllib 库,这个库是 python 自带的,我们直接就可以使用. 我们需要来了解一下基本原理,它可以通过图片地址将图片下载下来. 我们来找一张图片做实例看一下. 查看图片的地址,把地 ...

  6. 使用浏览器插件,下载网页中的图片

    1.360浏览器. 在扩展中搜索图片下载,点击安装此插件 提取网页图片时,只需点击浏览器右上角的图标 2.谷歌浏览器 下载 Image downloader Chrome插件 http://www.c ...

  7. C# 网络编程之webBrowser获取网页url和下载网页中图片

    该文章主要是通过C#网络编程的webBrowser获取网页中的url并简单的尝试下载网页中的图片,主要是为以后网络开发的基础学习.其中主要的通过应用程序结合网页知识.正则表达式实现浏览.获取url.下 ...

  8. asp自动解析网页中的图片地址,并将其保存到本地服务器

    程序实现功能:自动将远程页面的文件中的图片下载到本地. 程序代码 <% '将本文保存为 save2local.asp '测试:save2local.asp?url=http://ent.sina ...

  9. python爬取图片-Python爬取网页中的图片(搜狗图片)详解

    前言 最近几天,研究了一下一直很好奇的爬虫算法.这里写一下最近几天的点点心得.下面进入正文: 你可能需要的工作环境: Python 3.6官网下载 本地下载 我们这里以sogou作为爬取的对象. 首先 ...

最新文章

  1. 2021高考成绩一分段查询陕西省,2021年陕西高考一分一段表查询排名方法 成绩排名位次什么时候公布...
  2. 鸭鸭邀请------青龙毛毛
  3. PHP 计算每个月的最后一天
  4. BZOJ 1003 物流运输 最短路+dp
  5. 为什么我不推荐你盲目追求微服务?迟早要吃亏!
  6. IT项目管理-敏捷和传统
  7. rust投递箱连接箱子_一种用于防盗的牛奶投递箱的制作方法
  8. java期末考试编程题 界面_救急啊!!!期末考试!怎样用JAVA的GUI(图形用户界面)来设计一个小程序!...
  9. 【蓝桥杯】蓝桥杯日期类问题总结
  10. sublime text多文件夹查找关键字
  11. w10恢复出厂设置_Win10系统恢复出厂设置和重装系统有什么区别?
  12. golang db事务的统一封装
  13. 珠海华润银行网银密码控件
  14. 黑页网站html源码,仿360网站卫士拦截页面黑页源码
  15. 计算机桌面屏幕显示不到右边,电脑回收站打不开怎么办 电脑显示器右边有黑边怎么办...
  16. 论文阅读:FASTEMIT: LOW-LATENCY STREAMING ASR WITH SEQUENCE-LEVEL EMISSION REGULARIZATION
  17. 线性判别分析(LDA),二次判别分析(QDA)和正则判别分析(RDA)
  18. JAVA并发,后台线程
  19. 论坛20大经典变态楼主主题和回复
  20. 设计程序,判断给定的一个字符是否是英文字母。

热门文章

  1. linux下centos安装mysql数据库_Linux CentOS 下的MySQL数据库安装与配置-阿里云开发者社区...
  2. maven下载源码linux,Maven 下载 源码和javadoc 命令
  3. Java生鲜电商平台-生鲜供应链(采购管理)
  4. spring-cloud搭建
  5. fiddler2抓包数据工具使用教程
  6. 第六讲:PrintClient工具的使用
  7. HTML5概要与新增标签
  8. 各种平台的表达芯片跟mRNA-seq数据比较
  9. [No0000112]ComputerInfo,C#获取计算机信息(cpu使用率,内存占用率,硬盘,网络信息)...
  10. SSH整合中,使用父action重构子类action类.(在父类中获取子类中的泛型对象)