예제 #1
0
 public EntitySpider AddEntityType(Type type, TargetUrlExtractor targetUrlExtractor)
 {
     AddEntityType(type, new List <TargetUrlExtractor> {
         targetUrlExtractor
     }, null);
     return(this);
 }
예제 #2
0
        public EntitySpider AddEntityType(Type type, TargetUrlExtractor targetUrlExtractor, DataHandler dataHandler)
        {
            if (targetUrlExtractor != null)
            {
                AddEntityType(type, new List <TargetUrlExtractor> {
                    targetUrlExtractor
                }, dataHandler);
            }
            else
            {
                AddEntityType(type, new List <TargetUrlExtractor>(), dataHandler);
            }

            return(this);
        }
예제 #3
0
        private List <TargetUrlExtractor> GetTargetUrlExtractInfos(List <JObject> targetUrlExtractInfos)
        {
            List <TargetUrlExtractor> list = new List <TargetUrlExtractor>();

            foreach (var obj in targetUrlExtractInfos)
            {
                TargetUrlExtractor t = new TargetUrlExtractor();
                t.Patterns = obj.SelectTokens("$.Patterns[*]").Select(p => p.ToString()).ToList();
                t.Region   = obj.SelectToken("$.Region").ToObject <Selector>();
                foreach (var format in obj.SelectTokens("$.Formatters[*]"))
                {
                    var name          = format.SelectToken("$.Name").ToString();
                    var formatterType = FormatterFactory.GetFormatterType(name);
                    t.Formatters.Add((Formatter)format.ToObject(formatterType));
                }
                list.Add(t);
            }
            return(list);
        }