Beispiel #1
0
        public async Task <string> AnalyzeDescriptions()
        {
            AllDescriptions     = new List <TitleDescCheck>();
            HealthyDescriptions = new List <TitleDescCheck>();
            EmptyDescriptions   = new List <TitleDescCheck>();
            LongDescriptions    = new List <TitleDescCheck>();
            ShortDescriptions   = new List <TitleDescCheck>();

            await foreach (var response in Responses)
            {
                var results = response.Doc.DocumentNode.SelectNodes("//meta[@name='description']");
                if (results != null)
                {
                    foreach (var result in results)
                    {
                        var innerText = result.GetAttributeValue("content", "none");
                        if (innerText.Equals("none") || innerText.Equals(""))
                        {
                            TitleDescCheck description =
                                new TitleDescCheck("Missing description", innerText, response.Url);
                            EmptyDescriptions.Add(description);
                            AllDescriptions.Add(description);
                        }
                        else if (innerText.Length > 160)
                        {
                            TitleDescCheck description = new TitleDescCheck("Too long", innerText, response.Url);
                            LongDescriptions.Add(description);
                            AllDescriptions.Add(description);
                        }
                        else if (innerText.Length <= 50)
                        {
                            TitleDescCheck description = new TitleDescCheck("Too short", innerText, response.Url);
                            ShortDescriptions.Add(description);
                            AllDescriptions.Add(description);
                        }
                        else
                        {
                            TitleDescCheck description = new TitleDescCheck("Good", innerText, response.Url);
                            HealthyDescriptions.Add(description);
                            AllDescriptions.Add(description);
                        }
                    }
                }
            }

            return("done");
        }
Beispiel #2
0
        public async Task <string> AnalyzeTitles()
        {
            AllTitles     = new List <TitleDescCheck>();
            HealthyTitles = new List <TitleDescCheck>();
            EmptyTitles   = new List <TitleDescCheck>();
            LongTitles    = new List <TitleDescCheck>();
            ShortTitles   = new List <TitleDescCheck>();

            await foreach (var response in Responses)
            {
                var results = response.Doc.DocumentNode.SelectNodes("//title");
                if (results != null)
                {
                    foreach (var result in results)
                    {
                        if (result.OuterHtml == null || result.InnerText == "")
                        {
                            TitleDescCheck title = new TitleDescCheck("Missing title", result.InnerText, response.Url);
                            EmptyTitles.Add(title);
                            AllTitles.Add(title);
                        }
                        else if (result.InnerText.Length >= 60)
                        {
                            TitleDescCheck title = new TitleDescCheck("Too long", result.InnerText, response.Url);
                            LongTitles.Add(title);
                            AllTitles.Add(title);
                        }
                        else if (result.InnerText.Length <= 40)
                        {
                            TitleDescCheck title = new TitleDescCheck("Too short", result.InnerText, response.Url);
                            ShortTitles.Add(title);
                            AllTitles.Add(title);
                        }
                        else
                        {
                            TitleDescCheck title = new TitleDescCheck("Good", result.InnerText, response.Url);
                            HealthyTitles.Add(title);
                            AllTitles.Add(title);
                        }
                    }
                }
            }

            return("done");
        }
Beispiel #3
0
        public void DescriptionsHelper(ScraperEngineResponse response)
        {
            var results = response.Doc.DocumentNode.SelectNodes("//meta[@name='description']");

            if (results != null)
            {
                foreach (var result in results)
                {
                    var innerText = result.GetAttributeValue("content", "none");
                    if (innerText.Equals("none") || innerText.Equals(""))
                    {
                        TitleDescCheck description =
                            new TitleDescCheck("Missing description", innerText, response.Url);
                        EmptyDescriptions.Add(description);
                        AllDescriptions.Add(description);
                    }
                    else if (innerText.Length > 160)
                    {
                        TitleDescCheck description = new TitleDescCheck("Too long", innerText, response.Url);
                        LongDescriptions.Add(description);
                        AllDescriptions.Add(description);
                    }
                    else if (innerText.Length <= 50)
                    {
                        TitleDescCheck description = new TitleDescCheck("Too short", innerText, response.Url);
                        ShortDescriptions.Add(description);
                        AllDescriptions.Add(description);
                    }
                    else
                    {
                        TitleDescCheck description = new TitleDescCheck("Good", innerText, response.Url);
                        HealthyDescriptions.Add(description);
                        AllDescriptions.Add(description);
                    }
                    StateHasChangedDelegate?.Invoke();
                }
            }
        }
Beispiel #4
0
        public void TitlesHelper(ScraperEngineResponse response)
        {
            var results = response.Doc.DocumentNode.SelectNodes("//title");

            if (results != null)
            {
                foreach (var result in results)
                {
                    if (result.OuterHtml == null || result.InnerText == "")
                    {
                        TitleDescCheck title = new TitleDescCheck("Missing title", result.InnerText, response.Url);
                        EmptyTitles.Add(title);
                        AllTitles.Add(title);
                    }
                    else if (result.InnerText.Length >= 60)
                    {
                        TitleDescCheck title = new TitleDescCheck("Too long", result.InnerText, response.Url);
                        LongTitles.Add(title);
                        AllTitles.Add(title);
                    }
                    else if (result.InnerText.Length <= 40)
                    {
                        TitleDescCheck title = new TitleDescCheck("Too short", result.InnerText, response.Url);
                        ShortTitles.Add(title);
                        AllTitles.Add(title);
                    }
                    else
                    {
                        TitleDescCheck title = new TitleDescCheck("Good", result.InnerText, response.Url);
                        HealthyTitles.Add(title);
                        AllTitles.Add(title);
                    }
                    StateHasChangedDelegate?.Invoke();
                }
            }
        }