public void gatherLinks(ref List <Post> filtered, ref List <Tuple <string, string, string> > links) { WebBrowser1.Navigate(string.Empty); HtmlDocument fakeDoc = WebBrowser1.Document; foreach (Post Post in filtered) { string text = Post.com; text = "<HTML><body>" + text + "</body></HTML>"; fakeDoc.Write(text); } HtmlElementCollection HtmlElems = fakeDoc.Links; foreach (HtmlElement HtmlElem in HtmlElems) { string str = HtmlElem.GetAttribute("href"); Uri uri = new Uri(str); string str2 = uri.Fragment; string[] parts = uri.AbsolutePath.Split(new char[] { '/' }, StringSplitOptions.RemoveEmptyEntries); if (string.IsNullOrEmpty(str2)) { str2 = parts[2]; } else { str2 = str2.Trim(new char[] { '#', 'p' }); } if (parts.Length == 3) { links.Add(new Tuple <string, string, string>(parts[0], parts[2], str2)); } } }