Problème de l ordre

Fermé
Ahmed-Zakaria Messages postés 1 Date d'inscription dimanche 26 avril 2015 Statut Membre Dernière intervention 26 avril 2015 - Modifié par Ahmed-Zakaria le 26/04/2015 à 12:54
ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 - 26 avril 2015 à 18:03
salam alaikom
bonsoir tt le monde donc mon problème consiste a récupérer des résultats d une recherche lancé sur les moteurs de recherche Google et Bing avec c sharp mais les résultats récupéré sont en désordre total voici un bout de mn code :

le constructeur :
public GoogleHtmlParser(string googleUrl)
        {
            // Sauvegarder l'Url de Google
            GoogleUrl = googleUrl;

            // Récupérer l'HtmlDocument de l'Url de Google
            while (HtmlDoc == null)
            {
                try
                {
                    HtmlDoc = htmlWeb.Load(googleUrl);
                }
                catch (Exception e)
                {
                    // Web Exception, ignore it and retry
                }
            }
        }


methode de l extraction de l URL :
public string[] ExtractionUrl()
        {
            int i = 0;[http://static.commentcamarche.net/www.commentcamarche.net/pictures/GtDmbNzBxmMyXgaFTLHVjkR78Ab3tr6eoeLWyKfliEgBUvpjA3ZFoIZI74FD4qVQ-rg.png [image:http://static.commentcamarche.net/www.commentcamarche.net/pictures/GtDmbNzBxmMyXgaFTLHVjkR78Ab3tr6eoeLWyKfliEgBUvpjA3ZFoIZI74FD4qVQ-rg-s-.png|643px||center]|fancy]
            string s = "/url?q=";
            string url;
            int length;
            List<string> urls = new List<string>();
            List<int> ordre = new List<int>();
            int ord;
            
            
            foreach (HtmlNode node in HtmlDoc.DocumentNode.SelectNodes("//div/ol/li[@class='g']/h3"))  
            {
                HtmlAttribute att = node.FirstChild.Attributes["href"];
                if ((att.Value.StartsWith("/url?q=http://")) || (att.Value.StartsWith("/url?q=https://"))) 
                {
                    url = att.Value.Substring(s.Length);
                    length = url.IndexOf("&");
                    url = url.Substring(0, length);
                    results[i].Url = url; // att.Value;
                    results[i].Order = att.Line;
                    urls.Add(url);       
                    i++;
                }
            }
            return urls.ToArray();
        }

1 réponse

ElementW Messages postés 4816 Date d'inscription dimanche 12 juin 2011 Statut Contributeur Dernière intervention 5 octobre 2021 1 225
Modifié par gravgun le 26/04/2015 à 18:05
'lut, si le désordre te gènes, tu n'as qu'à trier les liens:
return Array.Sort(urls.ToArray());
.
Les
string
étant des
IComparable
,
Array.Sort
marche naturellement dessus.
Ce qui fait d'ailleurs que tes variables
ordre
et
ord
deviennent inutiles.
from human import idiocy
del idiocy
0