طراحی سایت-طراحی وب سایت-طراحی سایت در  شیراز

زئوس : طراحی سایت در شیراز | طراحی وب سایت در شیراز

بدست آوردن موقعیت یک سایت با کلمات مختلف در سرچ گوگل با asp.net

بدست آوردن موقعیت یک سایت با کلمات مختلف در سرچ گوگل با asp.net

اگر شما جزء برنامه نویسانی هستید که به seo  یا بهینه سازی برای موتورهای جستجو اهمیت می دهید و یا روی این بحث به صورت تخصصی کار می کنید و از سرچ کردن کلمات و بدست آوردن رتبه آنها در گوگل خسته شدید می توانید یک برنامه طراحی کنید که رتبه سایت مورد نظر شما را در گوگل با یک کلیک به شما نشان دهد ، که در ادامه کد های نوشتن یک برنامه ساده برای این کار را به شما نشان می دهم ، که می توانید از آن استفاده کنید و برنامه کامل تری بنویسید
برای این که بتونید رتبه یک سایت را در سرچ گوگل با یک کلمه خاص بدست بیارین باید آن کلمه رو در گوگل جستجو کنید و صفحه به صفحه در گوگل جلو برید تا به سایت مورد نظر برسید ، در برنامه هم ما باید همین کار را انجام دهیم یعنی باید request  به سایت گوگل بدهیم و صفحه ای که نتیجه سرچ را برمی گرداند به عنوان response  دریافت کنیم و سپس تحلیل کنیم (به نوعی باید عملیات crawl انجام دهیم)
شما اگر آدرس زیر را در مرورگر وارد کنید می توانید نتیجه جستجو های گوگل را ببینید
http://www.google.com/search?num=39&q={0}&btnG=Search
باید به جای {0} عبارت مورد را بنویسید .
در عبارت بالا num تعداد نتایج جستجو در یک صفحه است 
پس ما باید یک request  به آدرس بالا ایجاد کنیم و نتیجه آن را بررسی کنیم برای این کار متد زیر را می نویسیم
public static int GetPosition(Uri url, string searchTerm)
        {
            string raw = "http://www.google.com/search?num=39&q={0}&btnG=Search";
            string search = string.Format(raw, HttpUtility.UrlEncode(searchTerm));
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(search);
            using (HttpWebResponse response = (HttpWebResponse)request.GetResponse())
            {
                using (StreamReader reader = new StreamReader(response.GetResponseStream(), Encoding.ASCII))
                {
                    string html = reader.ReadToEnd();
                    return FindPosition(html, url);
                   
                }
            }
        }
در تابع دربالا مقداری که در متغیر html  ریخته می شود کل html  صفحه گوگل در یک سرچ ساده است که آن را به همراه آدرس سایتی که داریم آن را بررسی می کنیم به بک تابع دیگر به نام FindPosition مدهیم که موقعیت سایت را در html  پیدا کنید
private static int FindPosition(string html, Uri url)
      {
         
          string lookup = "<h3.*?><a.*?>.*?</a></h3>";
         
          MatchCollection matches = Regex.Matches(html, lookup);
          for (int i = 0; i < matches.Count; i++)
          {
              string match = matches[i].ToString();
              if (match.Contains(url.Host)) return i + 1;
          }
          return 0;
      }
در بالا تابع FindPosition  آمده است ، گوگل وقعتی نتایج را نشان می دهد آدرس های پیدا شه را در تگ h3  قرار می دهد ما از این الگو استفاده می کنیم و با یک pattern  و استفاده است Regex  موفقیت آدرس مورد نظر را در سرچ پیدا می کنیم
در کد ها بالا num=39  بوده است یعنی نتایج را در 4 صفحه اول گوگل جستجو می کند
مثال استفاده از کد های بالا :
Uri url = new Uri("http://mrdebugger.com");
Response.Write(GetPosition(url, "mrdebugger"));
با این الگو می توانید نتیجه را در سایر موتور های جستجو مانند bing  هم پیدا کنید

منبع : مرکز طراحی وب زئوس

تاریخ درج خبر : 1392/11/13
تعداد بازدیدها : 1231

اخبار مرتبط

مسعود     info@esfahan-online.com   www.esfahan-online.com 1394/7/24

ممنون خیلی عالی و کاربردی
مدیر سایت     info@zeus.ir   http://zeus.ir 1394/7/26

امیدوارم مفید واقع شوند
دیدگاه شما