コード例 #1
0
ファイル: Analyzer.cs プロジェクト: alexZhukov/practice
        public static Report Analyze(int reportId, string url)
        {
            Site site = new Site();
            site.mainUrl = NormalizeUrl(url);
            if (IsCorrectURL(site.mainUrl)) {
                site.content = GetContent(url);
                site.pages = GetPages(site.content, site.mainUrl);
            }
            else {
                throw new Exception("Uncorrect url");
            }

            Report report = new Report(reportId);
            report.MainUrl = site.mainUrl;
            report.RobotsTxt = CheckRobotsTxt(site.mainUrl);
            Thread.Sleep(1000);
            report.Error404 = CheckError404(site.mainUrl);
            Thread.Sleep(1000);
            report.Redirect = CheckMirror(site.mainUrl);
            report.mainPageResult = AnalyzePage(site);
            int count = 0;
            foreach (string urlPage in site.pages) {
                try {
                    Features result = AnalyzePage(GetContent(urlPage));
                    report.AddCheckedPage(result, urlPage);
                    count++;
                    if (count == MAX_CHILD_PAGE_IN_REPORT) {
                        break;
                    }
                    Thread.Sleep(1000);
                }
                catch (Exception ex) {
                    Console.WriteLine(@"method: Analyzer.Analyze()\n {0}\n,", ex.Message);
                }
            }
            return report;
        }
コード例 #2
0
ファイル: Analyzer.cs プロジェクト: alexZhukov/practice
 // Analyze one page of site.
 //
 private static Features AnalyzePage(Site site)
 {
     return AnalyzePage(site.content);
 }