public void testMultiModel_should_not_skip_when_match()
        {
            Page page = new Page(new Request("http://codecraft.us/foo", null));

            page.SetRawText("<div foo='foo'></div>");
            page.SetUrl(PlainText.Create("http://codecraft.us/foo"));
            ModelPageProcessor modelPageProcessor = ModelPageProcessor.Create(null, typeof(ModelFoo), typeof(ModelBar));

            modelPageProcessor.Process(page);
            Assert.IsFalse(page.GetResultItems().IsSkip);
        }
Exemple #2
0
        /// <summary>
        /// Create a spider
        /// </summary>
        /// <param name="identify"></param>
        /// <param name="site"></param>
        /// <param name="pageModelPipeline"></param>
        /// <param name="pageModels"></param>
        public OoSpider(string identify, Site site, IPageModelPipeline pageModelPipeline, params Type[] pageModels)
            : this(identify, ModelPageProcessor.Create(site, pageModels))
        {
            // Check ΪʲôҪ���һ��modelpipeline
            _modelPipeline = new ModelPipeline();

            AddPipeline(_modelPipeline);

            foreach (Type pageModel in pageModels)
            {
                if (pageModelPipeline != null)
                {
                    _modelPipeline.Put(pageModel, pageModelPipeline);
                }
                _pageModelTypes.Add(pageModel);
            }
        }
Exemple #3
0
 protected OoSpider(string identify, ModelPageProcessor modelPageProcessor)
     : base(identify, modelPageProcessor)
 {
     _modelPageProcessor = modelPageProcessor;
 }