19Eyl/101
ASP.net ile başka bir sitenin meta bilgisini alma
Bu işlemi yapmak için System.Net.WebClient sınıfı kullanılacaktır. System.Net.WebClient sınıfı uzak bir sunucudan verilerin download edilmesine olanak sağlamaktadır.İndirdiğimiz veriler içinde bizim işimize yarayan kısmını bulmak için Regex methodu kullanılacaktır. Regex.Match methodunu kullanabilmek için using System.Text.RegularExpressions referansını eklememiz gerekmektedir. Kısaca Regex.Match methodundan bahsedersek; Regex.Match methodu ile bir string içinde çok detaylı aramalar yapabilmemize olanak sağlanmaktadır.
Referanslara eklenmesi gerekiyor
using System.Text.RegularExpressions;
Title alma fonksiyonu;
protected string GetTitle(string myurl)
{
//WebClient create ediliyor.
System.Net.WebClient myclient = new System.Net.WebClient();
//myclient.DownloadString(myurl) ile sitemize bağlanıyoruz ve verilerimizi indiriyoruz.
//(@"<title>(.*?)</title>") ile title tağı arasında bulunan string değerini arıyoruz. ve bu değeri return olarak geri dönderiyoruz.
return Regex.Match(myclient.DownloadString(myurl), (@"<title>(.*?)</title>")).Groups[1].ToString();
}
Kullanımı;
protected void Page_Load(object sender, EventArgs e)
{
this.Label1.Text = GetTitle("http://www.ramazanulucay.com");
}
Bu şekilde istediğimiz diğer meta taglarıda kolaylıkla alabiliriz...
Farklı olarak Cem arkadaşımızın vermiş olduğu kodları da deneyebilirsiniz.
public static string otomatik_keywords_cek(string site)
{
string URL = site;
WebClient client = new WebClient();
Stream data = client.OpenRead(URL);
StreamReader reader = new StreamReader(data);
string str = "";
str = reader.ReadToEnd();
string cem = str;
cem = cem.Substring(cem.IndexOf("keywords"), cem.Length - cem.IndexOf("keywords"));
cem = cem.Replace("keywords", ""); cem = cem.Replace("/", ""); cem = cem.Replace("content=", "");
cem = cem.Replace("\", "");
string[] ycem = cem.Split('>');
return ycem[0];
}
Kolay gelsin.
23 Ağustos 2011, 04:01
Bu güzel bilgilendirme için teşekkür ederiz.