Merhaba arkadaşlar bu yazımda sizlere twitterda istediğimiz kişinin yada olayın nerede ve ne kadar uzaklıkta olduğunu gösteren bir kod paylaşacağım

Bu bize sosyal medya analizinde çok büyük fayda sağlayan bir class olacak

    class Twitter_Html_Parser
    {
        List<Profil> lst_islem;
       //————– İSTEDİĞİMİZ İSİMDE KULLANICILARI GETİrir
        public List<Profil> get_user_List(string user)
        {
            try
            {
                lst_islem = new List<Profil>();
                Uri url = new Uri(“https://twitter.com/search?q=lang%3Atr%20%40” + user + “%20include%3Aretweets&src=typd&vertical=default&f=users”);
                WebClient client = new WebClient();
                string html = client.DownloadString(url);
                // Adresten istek yapı html kodlarını indiriyoruz.   
                HtmlAgilityPack.HtmlDocument dokuman = newHtmlAgilityPack.HtmlDocument();
                dokuman.LoadHtml(html);
                // İndirdiğimiz html kodlarını bir HtmlDocment nesnesine yüklüyoruz.   
                HtmlNodeCollection basliklar = dokuman.DocumentNode.SelectNodes(“//a[@class=’ProfileNameTruncated-link u-textInheritColor js-nav js-action-profile-name’]”);
                // Html dökümanı içndeki h2 etiketlerinden class’ı  tutheader olanları liste halinde alıyoruzç   
                foreach (var baslik in basliklar)
                {
                    Profil profil = new Profil();
                    profil.link = baslik.
                        GetAttributeValue(“href”, null);
                    profil.adi = baslik.InnerText;
                    lst_islem.Add(profil);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(“hata 101: “ + ex.Message);
            }
            return lst_islem;
        }
       //——————— İSTEDİĞİMİZ İÇERİKTE TWEET LİSTESİ GETİRİL
        public List<Profil> get_tweet_List(string adi)
        {
            Uri url = new Uri(“https://twitter.com/search?q=lang%3Atr%20%40” + adi + “%20include%3Aretweets&src=typd&vertical=default&f=tweets”);
            WebClient client = new WebClient();
            string html = client.DownloadString(url);
            // Adresten istek yapı html kodlarını indiriyoruz.   
            lst_islem = new List<Profil>();
            HtmlAgilityPack.HtmlDocument dokuman = newHtmlAgilityPack.HtmlDocument();
            dokuman.LoadHtml(html);
            // İndirdiğimiz html kodlarını bir HtmlDocment nesnesine yüklüyoruz.   
            HtmlNodeCollection basliklar = dokuman.DocumentNode.SelectNodes(“//div[@class=’stream-item-header’]”);
            // Html dökümanı içndeki h2 etiketlerinden class’ı  tutheader olanları liste halinde alıyoruzç   
            foreach (var baslik in basliklar)
            {
                try
                {
                    Profil profil = new Profil();
                    profil.link = baslik.GetAttributeValue(“href”, null);
                    profil.adi = baslik.InnerText;
                    lst_islem.Add(profil);
                }
                catch (Exception ex)
                {
                    throw new Exception(“hata 102: “ + ex.Message);
                }
            }
            return lst_islem;
        }
       //——–İSTEDİĞİMİZ MESAFE VE İÇERİKDEKİ TWEET LİSTESİ
        public List<Profil> get_tweet_mesafe(string adi, string mesafe, string mekan)
        {
            try
            {
                if (mesafe == null)
                {
                    mesafe = “20”;
                }
                Uri url = new Uri(“https://twitter.com/search?q=” + adi + “%20lang%3Atr%20near%3A%22” + mekan + “%22%20within%3A” + mesafe + “mi%20include%3Aretweets&src=typd&vertical=default&f=tweets”);
                WebClient client = new WebClient();
                string html = client.DownloadString(url);
                // Adresten istek yapı html kodlarını indiriyoruz.   
                lst_islem = new List<Profil>();
                HtmlAgilityPack.HtmlDocument dokuman = newHtmlAgilityPack.HtmlDocument();
                dokuman.LoadHtml(html);
                // İndirdiğimiz html kodlarını bir HtmlDocment nesnesine yüklüyoruz.   
                HtmlNodeCollection basliklar = dokuman.DocumentNode.SelectNodes(“//div[@class=’stream-item-header’]”);
                // Html dökümanı içndeki h2 etiketlerinden class’ı  tutheader olanları liste halinde alıyoruzç   
                foreach (var baslik in basliklar)
                {
                    Profil profil = new Profil();
                    profil.link = baslik.GetAttributeValue(“href”, null);
                    profil.adi = baslik.InnerText;
                    lst_islem.Add(profil);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(“hata 103: “ + ex.Message);
            }
            return lst_islem;
        }
       //—————–İSTEDİĞİMİZ MESAFE VE İSİMDEKİ KİŞİ LİSTESİ
        public List<Profil> get_user_mesafe(string user, string mesafe, string mekan)
        {
            try
            {
                if (mesafe == null)
                {
                    mesafe = “20”;
                }
                Uri url = new Uri(“https://twitter.com/search?q=” + user + “%20lang%3Atr%20near%3A%22” + mekan + “%22%20within%3A” + mesafe + “mi%20include%3Aretweets&src=typd&vertical=default&f=users”);
                WebClient client = new WebClient();
                string html = client.DownloadString(url);
                // Adresten istek yapı html kodlarını indiriyoruz.   
                lst_islem = new List<Profil>();
                HtmlAgilityPack.HtmlDocument dokuman = newHtmlAgilityPack.HtmlDocument();
                dokuman.LoadHtml(html);
                // İndirdiğimiz html kodlarını bir HtmlDocment nesnesine yüklüyoruz.   
                HtmlNodeCollection basliklar = dokuman.DocumentNode.SelectNodes(“//div[@class=’ProfileCard-userFields’]”);
                // Html dökümanı içndeki h2 etiketlerinden class’ı  tutheader olanları liste halinde alıyoruzç   
                foreach (var baslik in basliklar)
                {
                    Profil profil = new Profil();
                    profil.link = baslik.Descendants(“a”).ToList()[0].GetAttributeValue(“href”, null);
                    profil.adi = baslik.InnerText;
                    lst_islem.Add(profil);
                }
            }
            catch (Exception ex)
            {
                throw new Exception(“hata 104: “ + ex.Message);
            }
            return lst_islem;
        }
    }

İYİ çalışmalar…
Ramazan CESUR