前言
只供个人技术交流,禁止传播
有些没有用 的代码我懒的删除,你看不顺眼我无所谓
还是担心有孩子误用,一共6000多张不同风格的美女图片,供大家编码累的时候休息方式活动眼球用,网址我放在评论区里面,没有下载豆子了,见谅
如何 使用
目标框架.netframe 4.7.1 不匹配的话自行修改;
下载好后文件存放目录 "C:\Pic"
有技术的2点 :
1.找到子节点下面的子标签
var objNodeList = node.SelectNodes("table//a");
2.下载图片遇到htpps 任何证书都同意
ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
源码部分
/// <summary> /// 从网页上面下载图片 /// 每一个网页保存到一个文件夹里面 /// /// </summary> public class Program { public static string m_strPath = ""; //精华的美图 我喜欢所有的 我用服务器下载网速100M //string l_strDigestURL = $"http://www..com/forum-index-fid-8-digest-1.htm"; static void Main(string[] args) { m_strPath = "C:\Pic" + Guid.NewGuid(); Directory.CreateDirectory(m_strPath); //测试以https开头的图片是否可以正常下载 ServicePointManager.ServerCertificateValidationCallback = new System.Net.Security.RemoteCertificateValidationCallback(CheckValidationResult); List<Task> l_listTask = new List<Task>(); for (int i = 1; i <= 39; i++) { try { string l_strMainURL = $"http://www..com/forum-index-fid-8-page-{i}.htm"; //从相关的DIV里面找到相关的网址列表 HtmlWeb htmlWeb = new HtmlWeb(); HtmlDocument htmlDocument = htmlWeb.Load(l_strMainURL); //DIV的ID string l_strDivName = "threadlist"; HtmlNode node = htmlDocument.GetElementbyId(l_strDivName); //从DIV里面获取的列表地址 & 列表名称 用于建立文件夹 var objNodeList = node.SelectNodes("table//a"); GetImageHelper getImageHelper = new GetImageHelper(); foreach (var nodeDetail in objNodeList) { Task task = new Task(() => { //过滤没有图片的网址 if (nodeDetail.InnerText.Contains("p")) { //Console.WriteLine(nodeDetail.InnerText); //Console.WriteLine(nodeDetail.Attributes["href"].Value); GetImageHelper.GetImg(nodeDetail.Attributes["href"].Value, nodeDetail.InnerText); } }); l_listTask.Add(task); task.Start(); } } catch (Exception e) { Logger.CreateErrorLog(e, ""); } } Task.WaitAll(l_listTask.ToArray()); Console.WriteLine("已经全部下载完毕..." + DateTime.Now); Console.ReadKey(); } private static bool CheckValidationResult(object sender, System.Security.Cryptography.X509Certificates.X509Certificate certificate, System.Security.Cryptography.X509Certificates.X509Chain chain, System.Net.Security.SslPolicyErrors errors) { // 总是接受 认证平台 服务器的证书 return true; } }
完整源码下载地址:
https://download.csdn.net/download/maanshan1/12046838
完整小工具下载地址: