public void 载(object haha) { Form1 form1 = (Form1)haha; if (Directory.Exists($"{Application.StartupPath}\\down\\{gid}")) { return; } foreach (string ul in 其他信息2) { Thread.Sleep(1000); var wc = new WebClient(); wc.Credentials = CredentialCache.DefaultCredentials; wc.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"); wc.Headers.Add("cookie", "__cfduid=da53676e4e2d0127fc0430b7a32b601141585825584"); wc.Headers.Add("content-type", "text/html; charset=UTF-8"); byte[] vb = null; try { vb = wc.DownloadData(ul); } catch (Exception) { for (int i = 1; i <= 基本设置.重试次数; i++) { try { Thread.Sleep(基本设置.重试毫秒); vb = wc.DownloadData(ul); } catch (Exception k) { if (i != 基本设置.重试次数) { continue; } form1.textBox2.AppendText($"错误编号4-[请手动下载]-错误信息:[{ul}]{k.Message}\r\n"); continue; } break; } } var dt = Encoding.UTF8.GetString(vb); HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); doc.LoadHtml(dt); try { var htmlnode = doc.DocumentNode.SelectSingleNode($"/html[1]/body[1]/div[1]/div[2]/a[1]"); HtmlNode s = htmlnode.SelectSingleNode("img"); string ull = s.OuterHtml.Split('"')[3]; 载图片 临时 = new 载图片(); 临时.载url = ull; Directory.CreateDirectory($"{Application.StartupPath}\\down\\{gid}"); 临时.保存路径 = $"{Application.StartupPath}\\down\\{gid}\\{ul.Split('-')[2]}.jpg"; if (File.Exists($"{Application.StartupPath}\\down\\{gid}\\{ul.Split('-')[2]}.jpg")) { continue; } 临时.DownPic(haha); } catch (Exception l) { form1.textBox2.AppendText($"错误编号3-[已经再次添加到下载列表]-错误信息:[{URL}]{l.Message}\r\n"); 其他信息2.Add(ul); } } for (int i = 0; i < form1.listView2.Items.Count; i++) { if (form1.listView2.Items[i].Text == kye) { form1.listView2.Items[i].Remove(); } } }
private void 线程方法(object s) { 数据 k = (数据)s; CheckForIllegalCrossThreadCalls = false; Thread.Sleep(500); var wc1 = new WebClient(); wc1.Credentials = CredentialCache.DefaultCredentials; wc1.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"); wc1.Headers.Add("cookie", "__cfduid=da53676e4e2d0127fc0430b7a32b601141585825584"); wc1.Headers.Add("content-type", "text/html; charset=UTF-8"); for (int i = 0; i < k.URL.Count; i++) { byte[] vb1 = null; try { vb1 = wc1.DownloadData($"{k.URL[i]}"); } catch (Exception) { for (int j = 1; j <= 基本设置.重试次数; j++) { try { Thread.Sleep(基本设置.重试毫秒); vb1 = wc1.DownloadData($"{k.URL[i]}"); } catch (Exception) { if (j != 基本设置.重试次数) { continue; } MessageBox.Show($"连不上,请再次尝试"); return; } break; } } var dt1 = Encoding.UTF8.GetString(vb1); HtmlAgilityPack.HtmlDocument doc1 = new HtmlAgilityPack.HtmlDocument(); doc1.LoadHtml(dt1); try { var htmlnode1 = doc1.DocumentNode.SelectSingleNode($"/html/body/div[2]/div[4]/div[1]/div[3]/table/tr[6]/td[2]"); k.页面数 = htmlnode1.InnerText.Split(' ')[0]; if (i == 0 && Convert.ToInt32(k.页面数) > 40) { for (int l = 1; l <= (Convert.ToInt32(k.页面数) - 1) / 40; l++) { k.URL.Add(k.URL[0] + "/?p=" + l); } } htmlnode1 = doc1.DocumentNode.SelectSingleNode($"/html/body/div[2]/div[4]/div[1]/div[4]/table/tr[2]/td"); k.评分 = htmlnode1.InnerText.Split(':')[1]; htmlnode1 = doc1.DocumentNode.SelectSingleNode($"/html/body/div[6]"); HtmlNodeCollection s1 = htmlnode1.SelectNodes("div"); foreach (HtmlNode ls1 in s1) { try { string kkk = ls1.OuterHtml.Split('"')[5].Split('(', ')')[1]; 载图片 临时 = new 载图片(); 临时.载url = kkk; 临时.保存路径 = Application.StartupPath + "\\temp\\" + k.gid + kkk.Split('-')[1]; if (!k.其他信息1.Contains(临时.保存路径)) { k.其他信息1.Add(临时.保存路径); if (!File.Exists(临时.保存路径)) { 临时.DownPic(this); } } k.其他信息2.Add(ls1.OuterHtml.Split('"')[7]); } catch (Exception) { } } if (i == k.URL.Count - 1) { 缓存目录.Add(k.kye.ToString(), k); } } catch (Exception l) { textBox2.AppendText($"错误编号2--错误信息:[{k.URL[i]}]{l.Message}\r\n"); } } }