static void Main(string[] args) { WebClient client = new WebClient(); client.Encoding = System.Text.Encoding.UTF8; var html = client.DownloadString("https://blog.csdn.net/czjnoe/article/details/106600070"); NSoup.Nodes.Document doc = NSoup.NSoupClient.Parse(html); //根据标签名获取节点 NSoup.Select.Elements metaElements = doc.GetElementsByTag("meta"); foreach (var item in metaElements) { } //根据id获取节点 NSoup.Nodes.Element headClassElements = doc.GetElementById("head"); //根据class获取节点 var headIdElements = doc.GetElementsByClass("fm").ToList(); foreach (var item in headIdElements) { } //根据属性名称获取节点 List <Element> attributeNameElements = doc.GetElementsByAttribute("class").ToList(); //根据属性值获取节点 List <Element> attributeValueElements = doc.GetElementsByAttributeValue("id", "su").ToList(); //根据jQuery选择器获取节点 var selectElments = doc.Select("#head").ToList(); }
private void download2() { // 下载地址 string url = textBox1.Text; string html = getHtml(url); NSoup.Nodes.Document d = NSoup.NSoupClient.Parse(html); //获取标题 String title = d.GetElementsByClass("tit").First.GetElementsByTag("h1").Text; //如果没有标题就用毫秒数 title = (title != null && !title.Equals(""))?title:DateTime.Now.ToUniversalTime().Ticks + ""; NSoup.Nodes.Element el = d.GetElementById("vlink_1"); NSoup.Select.Elements es = el.GetElementsByTag("li"); richTextBox1.Text = ""; foreach (var e in es) { string subHtml = getHtml("http://www.ting56.com" + e.GetElementsByTag("a").Attr("href")); Document d1 = NSoup.NSoupClient.Parse(subHtml); Match mc = Regex.Match(subHtml, "FonHen_JieMa\\('([0-9,*]*)'\\)"); //获取加密url string miwen = mc.Groups[1].Value; string[] tArr = Regex.Split(miwen, "\\*", RegexOptions.IgnoreCase); int n = tArr.Length; string s = ""; for (int i = 0; i < n; i++) { if (!tArr[i].Equals("")) { s += (char)int.Parse(tArr[i]); } } //下载地址 string downUrl = Regex.Split(s, "\\&", RegexOptions.IgnoreCase)[0]; //文件扩展名 string downFileExt = Regex.Split(s, "\\&", RegexOptions.IgnoreCase)[2]; string path = textBox2.Text + "\\" + title + "\\"; string fileName = e.Text(); string localFile = path + fileName + downFileExt; // MessageBox.Show(localFile); richTextBox1.AppendText("开始下载 " + fileName + "\n\r" + downUrl + "\n\r"); //用线程执行下载 // Thread oGetArgThread = new Thread(new ThreadStart(HttpDownload)); // oGetArgThread.IsBackground = true; // oGetArgThread.Start(); // DownFile hd = new DownFile(); // hd.downUrl=downUrl; // hd.localFile=localFile; // DownFile df = new DownFile(downUrl,localFile); // ThreadPool.QueueUserWorkItem(new WaitCallback(df.HttpDownload)); // Thread oGetArgThread = new Thread(new ThreadStart(hd.HttpDownload)); // oGetArgThread.IsBackground = true; // oGetArgThread.Start(); HttpDownload(downUrl, localFile); } // MessageBox.Show(title); }