コード例 #1
0
        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));
                }
            }
        }