Comment obtenir le titre du site Web de c #
Je suis revisiter som ancien code de la mine et ont découvert une méthode pour obtenir le titre d'un site web basé sur son adresse url. Ce n'est pas vraiment ce qu'on pourrait appeler une méthode durable comme souvent, il ne parvient pas à produire un résultat, et parfois même produit des résultats incorrects. Aussi, parfois, elle ne parvient pas à montrer quelques-uns des personnages du titre, car ils sont d'un autre encodage.
Quelqu'un aurait-il des suggestions pour des améliorations au cours de cette ancienne version?
public static string SuggestTitle(string url, int timeout)
{
WebResponse response = null;
string line = string.Empty;
try
{
WebRequest request = WebRequest.Create(url);
request.Timeout = timeout;
response = request.GetResponse();
Stream streamReceive = response.GetResponseStream();
Encoding encoding = System.Text.Encoding.GetEncoding("utf-8");
StreamReader streamRead = new System.IO.StreamReader(streamReceive, encoding);
while(streamRead.EndOfStream != true)
{
line = streamRead.ReadLine();
if (line.Contains("<title>"))
{
line = line.Split(new char[] { '<', '>' })[2];
break;
}
}
}
catch (Exception) { }
finally
{
if (response != null)
{
response.Close();
}
}
return line;
}
Une dernière remarque - je voudrais le code pour courir plus vite, car il est bloquant jusqu'à ce que la page a été récupérée, donc si je peux obtenir uniquement l'en-tête du site et de ne pas l'intégralité de la page, ce serait formidable.
source d'informationauteur Morten Christiansen
Vous devez vous connecter pour publier un commentaire.
Un moyen plus simple pour obtenir le contenu:
Plus simple, plus moyen fiable pour obtenir le titre:
Peut-être avec cette suggestion, un nouveau monde s'ouvre à vous
J'ai aussi eu cette question et est arrivé à cette
Télécharger "Html Agility Pack" de http://html-agility-pack.net/?z=codeplex
Ou aller à nuget: https://www.nuget.org/packages/HtmlAgilityPack/
Et d'ajouter cette référence.
Ajouter de la suivre à l'aide du fichier de code:
Écrire de code suivant dans votre methode:
Sources:
https://codeshare.co.uk/blog/how-to-scrape-meta-data-from-a-url-using-htmlagilitypack-in-c/
HtmlAgilityPack obtenir le Titre et meta
Afinde pour ce faire, vous allez avoir besoin de faire quelques choses.
Je l'ai fait avant avec la SEO bots et j'ai été capable de gérer près de 10 000 demandes en une seule fois. Vous avez juste besoin de s'assurer que chaque requête web peut être autonome dans un thread.