خواندن Tweets از Twitter با استفاده ازLinqToTwitter
پنجشنبه 9 مهر 1394در این مقاله قصد داریم چگونگی واکشی اطلاعات از Twitter را با استفاده از LinqToTwitter نشان دهیم ، برای این کار اولین قدم ثبت نام کردن در سایت Twitter هست.
قدم اول:وارد سایت Twitter شوید، با استفاده از اسکرول صفحه به قسمت پایین بیایید و در قسمت Tools
Manage your apps را انتخاب نمایید.
برنامه های کاربردی که قبلا ساخته شده است در یک لیست نمایش داده می شود.
صفحه نمایش زیر را خواهید دید و فیلد های مربوطه را پر می کنید:
داخل تب چند کلید وجود دارد که شامل:
1-Consumer key
2-Consumer Secret
4-Access TokenSecret
برای به دست آوردن کلید های اصلی روی دکمه ی Generate Access Token کلیک کنید.
این 4 کلید برای واکشی اطلاعات لازم است.
مرحله ی بعدی: ساخت یک console application است و اضافه کردن کتابخانه LinqToTwitter با استفاده از nuget
حالا یک متود به شکل زیر مینویسیم:
private static void Main(string[] args) { Console.WriteLine("working on it...."); var tweetList = GetTwitterFeeds(); Console.WriteLine("Tweets Count "+tweetList.Count); var file = new System.IO.StreamWriter("D:\\TweetsList.txt",true); // Make sure to change the path according to your system foreach (var item in tweetList) { file.WriteLine(item.CreatedAt); } file.Close(); Console.WriteLine("Done! check your drive file has been created"); Console.ReadLine(); }
public static List<Status> GetTwitterFeeds() { string screenname = "csharpcorner"; var auth = new SingleUserAuthorizer { CredentialStore = new InMemoryCredentialStore() { ConsumerKey = ConfigurationManager.AppSettings["consumerkey"], ConsumerSecret = ConfigurationManager.AppSettings["consumersecret"], OAuthToken = ConfigurationManager.AppSettings["accessToken"], OAuthTokenSecret = ConfigurationManager.AppSettings["accessTokenSecret"] } }; var twitterCtx = new TwitterContext(auth); var ownTweets = new List<Status>(); ulong maxId = 0; bool flag = true; var statusResponse = new List<Status>(); statusResponse = (from tweet in twitterCtx.Status where tweet.Type == StatusType.User && tweet.ScreenName == screenname && tweet.Count == 200 select tweet).ToList(); if (statusResponse.Count > 0) { maxId = ulong.Parse(statusResponse.Last().StatusID.ToString()) - 1; ownTweets.AddRange(statusResponse); } do { int rateLimitStatus = twitterCtx.RateLimitRemaining; if (rateLimitStatus != 0) { statusResponse = (from tweet in twitterCtx.Status where tweet.Type == StatusType.User && tweet.ScreenName == screenname && tweet.MaxID == maxId && tweet.Count == 200 select tweet).ToList(); if (statusResponse.Count != 0) { maxId = ulong.Parse(statusResponse.Last().StatusID.ToString()) - 1; ownTweets.AddRange(statusResponse); } else { flag = false; } } else { flag = false; } } while (flag); return ownTweets; } }
- C#.net
- 1k بازدید
- 1 تشکر