Пример #1
0
        private void AddNovelChapter(HtmlNodeCollection chapters, int nId)
        {
            NovelBLL nBill = new NovelBLL();
            int      sort  = 0;

            foreach (var chapter in chapters)
            {
                NovelChapter chapterInfo = new NovelChapter();
                chapterInfo.NId         = nId;
                chapterInfo.Sort        = sort;
                chapterInfo.ChapterName = chapter.InnerText;
                var cHref      = chapter.Attributes["href"].Value.ToString();
                var chapterDoc = new HtmlDocument();
                chapterDoc.LoadHtml(HttpHelper.GetHtml(cHref));
                chapterInfo.Content = chapterDoc.DocumentNode.SelectSingleNode("//*[@id=\"content\"]")?.InnerText;
                nBill.AddNovelChapter(chapterInfo);
                sort++;
                if (this.txtContent.InvokeRequired)
                {
                    Action <string, string> actionDelegate = (x, y) => { this.txtContent.Text = string.Format("小说[{0}]--[{1}]采集成功;\r\n", x, y); };
                    this.txtContent.Invoke(actionDelegate, nId.ToString(), chapterInfo.ChapterName);
                }
                else
                {
                    txtContent.Text += string.Format("小说[{0}]--[{1}]采集成功;\r\n", nId.ToString(), chapterInfo.ChapterName);
                }
            }
        }
Пример #2
0
        private void AddNovel(HtmlNode node)
        {
            Novel    novelInfo = new Novel();
            NovelBLL nBill     = new NovelBLL();
            string   href      = node.Attributes["href"].Value.Trim();
            var      chapters  = HttpHelper.GetNovelHtml(href, ref novelInfo);
            var      nId       = nBill.AddNovel(novelInfo);

            if (nId > 0)
            {
                Task.Run(() => {
                    AddNovelChapter(chapters, nId);
                });
            }
        }