源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

c#实现网页图片提取工具代码分享

  • 时间:2021-01-25 04:26 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:c#实现网页图片提取工具代码分享
[url=, ]               if (!href.Contains("http"))                    href = com + href;                if(!urls.Contains(href))                urls.Add(href);            }            return urls.ToArray();        }
[DllImport("kernel32.dll")]        static extern bool SetConsoleMode(IntPtr hConsoleHandle, int mode);        [DllImport("kernel32.dll")]        static extern bool GetConsoleMode(IntPtr hConsoleHandle, out int mode);        [DllImport("kernel32.dll")]        static extern IntPtr GetStdHandle(int handle);        const int STD_INPUT_HANDLE = -10;        const int ENABLE_QUICK_EDIT_MODE = 0x40 | 0x80;        public static void EnableQuickEditMode()        {            int mode; IntPtr handle = GetStdHandle(STD_INPUT_HANDLE);            GetConsoleMode(handle, out mode);            mode |= ENABLE_QUICK_EDIT_MODE;            SetConsoleMode(handle, mode);        }        static void Main(string[] args)        {            EnableQuickEditMode();            int oldCount = 0;            Console.Title = "TakeImageFromInternet";            string path = "E:\\Download\\loading\\";            while (true)            {                Console.Clear();                string countFile = "E:\\CountFile.txt";//用来计数的文本,以至于文件名不重复                int cursor = 0;                if (File.Exists(countFile))                {                    string text = File.ReadAllText(countFile);                    try                    {                        cursor =oldCount = Convert.ToInt32(text);//次数多了建议使用long                    }                    catch { }                }                Console.Write("please input a url:");                string url = "http://www.baidu.com/";                string temp = Console.ReadLine();                if (!string.IsNullOrEmpty(temp))                    url = temp;                Match mcom = new Regex(@"^(?i)http://(\w+\.){2,3}(com(\.cn)?|cn|net)\b").Match(url);//获取域名                string com = mcom.Value;                //Console.WriteLine(mcom.Value);                Console.Write("please input a save path:");                temp = Console.ReadLine();                if (Directory.Exists(temp))                    path = temp;                Console.WriteLine();                WebClient client = new WebClient();                byte[] htmlData = null;                htmlData = client.DownloadData(url);                MemoryStream mstream = new MemoryStream(htmlData);                string html = "";                using (StreamReader sr = new StreamReader(mstream))                {                    html = sr.ReadToEnd();                }                Array urls = new MatchHtmlImageUrl().MatchHtml(html,com);                foreach (string imageurl in urls)                {                   Console.WriteLine(imageurl);                    byte[] imageData = null;                    try                    {                        imageData = client.DownloadData(imageurl);                    }                    catch { }                    if (imageData != null && imageData.Length>0)                        using (MemoryStream ms = new MemoryStream(imageData))                        {                            try                            {                                string ext = Aping.Utility.File.FileOpration.ExtendName(imageurl);                                ImageFormat format = ImageFormat.Jpeg;                                switch (ext)                                {                                    case ".jpg":                                        format = ImageFormat.Jpeg;                                        break;                                    case ".bmp":                                        format = ImageFormat.Bmp;                                        break;                                    case ".png":                                        format = ImageFormat.Png;                                        break;                                    case ".gif":                                        format = ImageFormat.Gif;                                        break;                                    case ".ico":                                        format = ImageFormat.Icon;                                        break;                                    default:                                        continue;                                }                                Image image = new Bitmap(ms);                                if (Directory.Exists(path))                                    image.Save(path + "\\" + cursor + ext, format);                            }                            catch(Exception ex) { Console.WriteLine(ex.Message); }                        }                    cursor++;                }                mstream.Close();                File.WriteAllText(countFile, cursor.ToString(), Encoding.UTF8);                Console.WriteLine("take done...image count:"+(cursor-oldCount).ToString());            }                   }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部