国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

通過(guò)線程方式下載圖片

2019-11-11 02:04:02
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

通過(guò)線程下載網(wǎng)頁(yè)上面的圖片:

代碼下載的圖片有點(diǎn)勁爆,慎下載

class PRogram { static void Main(string[] args) { string[] str = { "model", "sexy", "belle", "stars" }; for (int url = 0; url < str.Length; url++) { Thread thread = new Thread(DownLoad); thread.Start(str[url]); } Console.Read(); } public static void DownLoad(object category) { string url = string.Empty; for (int purl = 14; purl > 10; purl--) { for (int pageSize = 0; pageSize < 20; pageSize++) { try { if (pageSize == 0) url = "http://www.mm8mm8.com/" + category + "/" + purl + ".html"; else url = "http://www.mm8mm8.com/" + category + "/" + purl + "_" + pageSize + ".html"; //創(chuàng)建http鏈接 var request = (HttpWebRequest)WebRequest.Create(url); request.Timeout = 1000 * 5; //5s過(guò)期 var response = (HttpWebResponse)request.GetResponse(); Stream stream = response.GetResponseStream(); StreamReader sr = new StreamReader(stream); string content = sr.ReadToEnd(); var list = GetHtmlImageUrlList(content); WebClient client = new WebClient(); string[] directory = { @"D:/MM/", @"X:/MM/", @"Y:/MM/"}; var directoryName = directory[new Random().Next(0, directory.Length)]; if (!Directory.Exists(directoryName)) Directory.CreateDirectory(directoryName); var fileName = string.Empty; if (list.Count == 0) { Console.WriteLine("時(shí)間:" + DateTime.Now + " 當(dāng)前網(wǎng)址:" + url + " 未發(fā)現(xiàn)圖片"); break; } try { fileName = category + "_" + purl + "_" + (pageSize + 1) + ".jpg"; var localFile = directoryName + fileName; var imageRequest = (HttpWebRequest)WebRequest.Create(list[0]); imageRequest.Timeout = 1000 * 5; //5s 超時(shí) var imageResponse = (HttpWebResponse)imageRequest.GetResponse(); var s = imageResponse.GetResponseStream(); Image image = Image.FromStream(s); image.Save(localFile); image.Dispose(); Console.WriteLine("時(shí)間:" + DateTime.Now + " 圖片:" + fileName + " 已經(jīng)下載 存入磁盤(pán)位置:" + localFile); } catch (Exception e) { Console.WriteLine("時(shí)間:" + DateTime.Now + " 當(dāng)前圖片:" + fileName + " 錯(cuò)誤信息:" + e.Message); continue; } } catch (Exception ex) { Console.WriteLine("時(shí)間:" + DateTime.Now + " 當(dāng)前網(wǎng)址:" + url + " 錯(cuò)誤信息:" + ex.Message); } } } } /// <summary> /// 取得HTML中所有圖片的 URL。 /// </summary> /// <param name="sHtmlText">HTML代碼</param> /// <returns>圖片的URL列表</returns> public static List<string> GetHtmlImageUrlList(string sHtmlText) { // 定義正則表達(dá)式用來(lái)匹配 img 標(biāo)簽 Regex regImg = new Regex(@"<img/b[^<>]*?/bsrc[/s/t/r/n]*=[/s/t/r/n]*[""']?[/s/t/r/n]*(?<imgUrl>[^/s/t/r/n""'<>]*)[^<>]*?/?[/s/t/r/n]*>", RegexOptions.IgnoreCase); // 搜索匹配的字符串 MatchCollection matches = regImg.Matches(sHtmlText); List<string> sUrlList = new List<string>(); // 取得匹配項(xiàng)列表 foreach (Match match in matches) sUrlList.Add(match.Groups["imgUrl"].Value); return sUrlList; } }
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宜昌市| 东阳市| 虞城县| 东山县| 富民县| 隆昌县| 通山县| 瓮安县| 碌曲县| 清镇市| 简阳市| 嫩江县| 当阳市| 茂名市| 台南市| 道真| 隆子县| 北碚区| 淮北市| 环江| 闻喜县| 龙川县| 共和县| 信丰县| 沾益县| 河东区| 磐安县| 定南县| 九寨沟县| 菏泽市| 衡东县| 宣恩县| 电白县| 太谷县| 永定县| 呼伦贝尔市| 重庆市| 安吉县| 平顶山市| 新河县| 马鞍山市|