private List<Chapter> GetChapters(HtmlNode node) { List<Chapter> chapters = new List<Chapter>(); foreach (HtmlNode innerNode in node.ChildNodes.FirstOrDefault(c => c.Name.Equals("tbody")).ChildNodes.Where(c => c.Name.Equals("tr"))) { Chapter chapter = new Chapter(); try { HtmlNode chapterNameCell = innerNode.ChildNodes.FirstOrDefault(c => c.Name.Equals("td")); chapter.ChapterName = chapterNameCell.InnerText.Trim(); chapter.ChapterUrl = chapterNameCell.ChildNodes.FirstOrDefault(c => c.Name.Equals("a")) .Attributes.FirstOrDefault(a => a.Name.Equals("href")).Value; } catch { } try { HtmlNode chapterDateCell = innerNode.ChildNodes.LastOrDefault(c => c.Name.Equals("td")); chapter.ReleaseDate = GetReleaseDate(chapterDateCell); } catch { } chapters.Add(chapter); } return chapters; }
private void VisitChapter(Chapter chapter) { Chapter crawlerChapter = _chapterCrawler.Edit(chapter); chapter.Pages = crawlerChapter.Pages; }