private IEnumerable <TCrawler> ParseNodes(ICrawlerProvider provider) { foreach (var node in Nodes) { var obj = ParseModel(node); if (obj != null) { obj.Init(provider); yield return(obj); } } }
internal protected override sealed void Init(ICrawlerProvider provider) { config(this); node = GetNode(provider.GetDocument(Source)); var list = new Dictionary <string, Func <dynamic> >(); foreach (var member in members) { var mm = member; var p = provider; var n = node; list.Add(mm.Key, () => { var obj = mm.Value(n); obj.Init(p); return(obj.Value); }); } Crawlers = list; }
internal protected override sealed void Init(ICrawlerProvider provider) { Nodes = GetNods(provider.GetDocument(Source));//.Take(40); Crawlers = ParseNodes(provider); }
internal protected override sealed void Init(ICrawlerProvider provider) { node = GetNode(provider.GetDocument(Source)); value = node == null?default(T):ConvertValue(node); }
private static ICrawlerProvider CreateProvider <TProvider>() where TProvider : ICrawlerProvider, new() { return(_Provider ?? (_Provider = new TProvider())); }
internal protected virtual void Init(ICrawlerProvider provider) { }