图片下载器
一直做 对winform 确实不熟, 但是由于某些人的特殊要求 用winform做一个 图片下载器 so
先获取列表网页的源码
private string GetHtml(string url)
{
var req = WebRequest.Create(url);
var rep = req.GetResponse();
var webstream = rep.GetResponseStream();
StreamReader sr = new StreamReader(webstream);
return sr.ReadToEnd();
}
如果是列表页面,就分析网页中所有的详细页面的地址, 再一一访问详细页面
urls = WebParse.Parse_List(html);
for (var i = 0; i < imgs.Count; i++)
{
GetImgs(GetHtml(urls[i]));
}
获取详细页面的源码后,筛选掉gif后缀的图片,还有将不符合规定的图片都筛选掉,将剩下的图片地址存在数组中
List<string> imgs = WebParse.Parse_Detal(html);
最后通过图片大小来筛选出最终需要的图片
for (var i = 0; i < imgs.Count; i++)
{
Image image = Image.FromStream(WebRequest.Create(@imgs[i]).GetResponse().GetResponseStream());
if (image.Width <= minWidth || image.Height <= minHeght) return;
image.Save(file + count.ToString() + ".jpg");
image.Dispose();
count++;
}
当然本人不知道有没有更简便的方法 如果有请指出
后来的一些修改
选择文件夹的问题 之前一直没有找到控件 (⊙﹏⊙b汗) 所以用的是TextBox 手动输入的文件夹
1 private void SaveImg_Click(object sender, EventArgs e)
2 {
3 var openFile = new FolderBrowserDialog();
4 if (openFile.ShowDialog() == DialogResult.OK)
5 {
6 SaveImg.Text = openFile.SelectedPath + "\\";
7 }
8
9 //下面是选择文件的方式
10 //string resultFile = "";
11 //OpenFileDialog openFileDialog1 = new OpenFileDialog();
12 //openFileDialog1.InitialDirectory = "D:\\Patch";
13 //openFileDialog1.Filter = "All files (*.*)|*.*|txt files (*.txt)|*.txt";
14 //openFileDialog1.FilterIndex = 2;
15 //openFileDialog1.RestoreDirectory = true;
16 //if (openFileDialog1.ShowDialog() == DialogResult.OK)
17 }

浙公网安备 33010602011771号