コード例 #1
0
        private void btnImgStart_Click(object sender, System.EventArgs e)
        {
            statusBar.Text = "Process Uri: " + txtUrlGraphicsRipper.Text;

            m_baseUri = new Uri(txtUrlGraphicsRipper.Text);

            try
            {
                SetupOutputFile();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Failed to setup output file\n" + ex.ToString());
                return;
            }

            IWebPageProcessor webPageProcessor = new WebPageProcessor();

            webPageProcessor.contentHandler_ += new WebPageContentDelegate(GraphicsLinkHandler);
            webPageProcessor.Process(new WebPageState(txtUrlGraphicsRipper.Text));

            CloseOutputFile();

            statusBar.Text = "Finished Processing";
        }
コード例 #2
0
        /// <summary>
        /// Process and manipulate the buffer.
        /// </summary>
        /// <param name="buffer">An array of bytes. This method copies <paramref name="count"/> bytes from <paramref name="buffer"/> to the current stream.</param>
        /// <param name="offset">The zero-based byte offset in <paramref name="buffer"/> at which to begin copying bytes to the current stream.</param>
        /// <param name="count">The number of bytes to be written to the current stream.</param>
        protected override void Process(byte[] buffer, int offset, int count)
        {
            string html = Encoding.Default.GetString(buffer, offset, count);

            html = WebPageProcessor.RemoveWhitespaceFromHtml(html);

            byte[] outdata = System.Text.Encoding.Default.GetBytes(html);
            this.Sink.Write(outdata, 0, outdata.GetLength(0));
        }
コード例 #3
0
ファイル: WebSpiderTest.cs プロジェクト: montecarlo1/Projects
        public void ManualProcessor( )
        {
            uri = "http://www.holidaycoast.net.au/";

            WebPageState     state     = new WebPageState(new Uri(uri));
            WebPageProcessor processor = new WebPageProcessor( );

            Assertion.Assert("Process Page", processor.Process(state));
            Assertion.AssertEquals("OK", state.StatusCode);
            Assertion.AssertEquals(true, state.ProcessSuccessfull);
        }
コード例 #4
0
ファイル: WebSpiderTest.cs プロジェクト: montecarlo1/Projects
        public void ManualProcessorMultipleDelegates( )
        {
            ManualProcessorLinksCounter = 0;

            uri = "http://www.holidaycoast.net.au/";

            WebPageState     state     = new WebPageState(new Uri(uri));
            WebPageProcessor processor = new WebPageProcessor( );

            processor.ContentHandler += new WebPageContentDelegate(HandleLinks);
            processor.ContentHandler += new WebPageContentDelegate(HandleContent);

            Assertion.Assert("Process Page", processor.Process(state));
            Assertion.AssertEquals("OK", state.StatusCode);
            Assertion.AssertEquals(true, state.ProcessSuccessfull);
            Assertion.AssertEquals(16, ManualProcessorLinksCounter);
            Assertion.Assert(ManualProcessorContentFound);
        }
コード例 #5
0
        public void ShouldCallParsingForEachPageFromPreviousIteration()
        {
            IInputProvider         inputProvider         = new MockInputProvider();
            IOutputProvider        outputProvider        = new MockOutputProvider();
            IStorageProvider       storageProvider       = new MockStorageProvider();
            IClientProvider        clientProvider        = new MockClientProvider();
            IPageProvider          pageProvider          = new MockPageProvider();
            ILinkProcessorProvider linkProcessorProvider = new MockLinkProcessorProvider(outputProvider, storageProvider);
            IPageParserProvider    pageParserProvider    = new MockPageParcerProvider();

            WebPageProcessor wpp = new WebPageProcessor(storageProvider, inputProvider, outputProvider, pageProvider, linkProcessorProvider, pageParserProvider, 0);

            wpp.ProcessWebPage("Test", 0);

            Assert.IsTrue(storageProvider.Contains("Test1processed"));
            Assert.IsTrue(storageProvider.Contains("Test2processed"));
            Assert.IsTrue(storageProvider.Contains("Test3processed"));
            Assert.IsTrue(storageProvider.Contains("Test4processed"));
            Assert.IsTrue(storageProvider.Contains("Test5processed"));
            Assert.IsTrue(storageProvider.Contains("Test6processed"));
            Assert.IsTrue(storageProvider.Contains("Test7processed"));
            Assert.IsTrue(storageProvider.Contains("Test8processed"));
        }