//private static Ebookdz_ForumPage GetData(WebResult webResult) private static IEnumDataPages <IHeaderData> GetData(WebResult webResult) { XXElement xeSource = new XXElement(webResult.Http.zGetXDocument().Root); string url = webResult.WebRequest.HttpRequest.Url; Ebookdz_ForumPage_v2 data = new Ebookdz_ForumPage_v2(); data.SourceUrl = url; data.LoadFromWebDate = webResult.LoadFromWebDate; data.Id = _GetPageKey(webResult.WebRequest.HttpRequest); //data.UrlNextPage = zurl.GetUrl(url, xeSource.XPathValue("//div[@class='basenavi']//span[@class='nnext']//a/@href")); data.UrlNextPage = null; Predicate <string> filter = __forumFilter; List <Ebookdz_Forum_v2> forums = new List <Ebookdz_Forum_v2>(); //HtmlRun.Select("//ol[@id='forums']/li:.:EmptyRow", ".//text()", ".//a//text()", ".//a/@href"); // <ol id="forums" class="floatcontainer"> foreach (XXElement xe in xeSource.XPathElements("//ol[@id='forums']/li")) { // Accueil de la Board, Forum de l'entraide, Journaux, MAGAZINES, Les Livres, Sujet supprimés ou à supprimer // http://www.ebookdz.com/forum/forumdisplay.php?f=1&s=1fdf76d35a57d09aa11e75ff6f0d9985 XXElement xe2 = xe.XPathElement(".//a"); string name = xe2.XPathValue(".//text()"); if (filter != null && !filter(name)) { continue; } Ebookdz_Forum_v2 forum = new Ebookdz_Forum_v2(); forum.SourceUrl = url; forum.LoadFromWebDate = webResult.LoadFromWebDate; forum.Name = name; forum.Url = Ebookdz_v1.GetUrl(zurl.GetUrl(url, xe2.XPathValue("@href"))); forums.Add(forum); } data.Forums = forums.ToArray(); return(data); }
public static IEnumerable <Ebookdz_Forum_v2> LoadSubForums(bool reload = false, Predicate <Ebookdz_Forum_v2> filter = null) { //foreach (Ebookdz_Forum mainForum in LoadPages(startPage: 1, maxPage: 1, reload: reload, loadImage: false, refreshDocumentStore: false)) foreach (IHeaderData header in __headerWebDataPageManager.LoadPages(startPage: 1, maxPage: 1, reload: reload, loadImage: false, refreshDocumentStore: false)) { Ebookdz_Forum_v2 mainForum = (Ebookdz_Forum_v2)header; //yield return mainForum; //foreach (Ebookdz_Forum_v2 subForum in Ebookdz_SubForumManager.CurrentSubForumManager.LoadPages(new HttpRequest { Url = mainForum.Url }, maxPage: 0, reload: reload)) foreach (Ebookdz_Forum_v2 subForum in Ebookdz_SubForumManager_v2.HeaderWebDataPageManager.LoadPages(new HttpRequest { Url = mainForum.Url }, maxPage: 0, reload: reload)) { subForum.Forum = mainForum.Name; if (filter == null || filter(subForum)) { yield return(subForum); } } } }