گرفتن اطلاعات و رتبه سایت توسط Alexa در سی شارپ

سه شنبه 10 شهریور 1394

در این مقاله با استفاده از Url وبسایت الکسا ، اقدام به گرفتن رنکینگ یا رتبه وبسایت خود به وسیله زبان سی شارپ می کنیم.

گرفتن اطلاعات و رتبه سایت توسط Alexa در سی شارپ

برای این کار ابتدا یک پروژه با زبان سی شارپ و به صورت کنسول ایجاد می کنیم.


سپس اقدام به ایجاد یک کلاس برای ارتباط با وبسایت الکسا می کنیم.


نام کلاس را برابر AlexaRank قرار داده و آن را اضافه می کنیم.


در مرحله بعد اقدام به نوشتن کد های زیر در بدنه کلاس می کنیم.
متدی برای گرفتن رتبه در کشور و متدی برای گرفتن رتبه در جهان می کنیم.
نام متد اول برابر GetAlexaRank 
و نام متد دوم برابر GetAlexaWorldRank
و ورودی هر دو متد نیز یک رشته است که دامین وبسایت مورد نظر را به آن پاس می دهیم.
کد های زیر برای متد GetAlexaRank نوشته می شود.

public int GetAlexaRank(string domain)
        {
            var alexaRank = 0;
            try
            {
                var url = string.Format("http://data.alexa.com/data?cli=10&dat=snbamz&url={0}", domain);
                var doc = XDocument.Load(url);
                var rank = doc.Descendants("COUNTRY").Select(node => node.Attribute("RANK").Value).FirstOrDefault();
                if (!int.TryParse(rank, out alexaRank)) 
                    alexaRank = -1;
            }
            catch (Exception e)
            {
                return -1;
            }
            return alexaRank;
        }

و کد های زیر نیز برای متد GetAlexaWorldRank نوشته می شود.

 public int GetAlexaWorldRank(string domain)
        {
            var alexaRank = 0;
            try
            {
                var url = string.Format("http://data.alexa.com/data?cli=10&dat=snbamz&url={0}", domain);
                var doc = XDocument.Load(url);
                var rank = doc.Descendants("POPULARITY").Select(node => node.Attribute("TEXT").Value).FirstOrDefault();
                if (!int.TryParse(rank, out alexaRank))
                    alexaRank = -1;
            }
            catch (Exception e)
            {
                return -1;
            }
            return alexaRank;
        }


دقت داشته باشید برای خواندن و پیمایش XML به وسیله Linq باید از کتابخانه System.Xml.Linq استفاده کنید.

در گام بعدی اقدام به نوشتن کدی برای نمایش این آمار داریم ، ما در اینجا از سایت برنامه نویسان برای نمایش اطلاعات و رتبه استفاده می کنیم.

ابتدا از وبسایت alexa نسبت به بررسی رتبه اقدام می کنیم.

حالا کدی را برای نمایش رتبه در کنسول استفاده می کنیم.
در کلاس Program.cs که کلاس اصلی و متد Main که متدی است که هنگام اجرای برنامه صدا زده می شود رتبه را برای کاربر درج می کنیم.


کد های زیر در بدنه متد Main نوشته می شود:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Configuration;

namespace Getting_Alexa_Rank
{
    class Program
    {
        public static string Domain = "www.barnamenevisan.org";
        static void Main()
        {
            Class.AlexaRank al = new Class.AlexaRank();
            string CountryRank = al.GetAlexaRank(Domain).ToString();
            string WorldRank = al.GetAlexaWorldRank(Domain).ToString();
            Console.Write("\t \t \t Rank of Domain : {0} \n \n \n  \t \t \t *************************************** \n \n", Domain);
            Console.Write(string.Format("\t \t \t Country Rank : {0} \n \n ", CountryRank));
            Console.Write(string.Format("\t \t \t World Rank : {0}", WorldRank));
            Console.ReadKey();
        }
    }
}

آموزش سی شارپ

فایل های ضمیمه

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان
  • C#.net
  • 2k بازدید
  • 3 تشکر

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید