Получить все твиты с определенным хэштегом - PullRequest
6 голосов
/ 13 марта 2011

Я экспериментировал с Twitter API, потому что хочу отобразить несколько списков твитов на специальной странице.

Среди этих списков есть список со всеми твитами, содержащими определенный хэштег (например, # test )

Однако я не могу найти, как получить этот список ни в XML, ни в JSON (желательно во втором), кто-нибудь знает, как? Также хорошо, если это можно сделать в TweetSharp

Ответы [ 5 ]

8 голосов
/ 08 сентября 2012

Сначала установите TweetSharp, используя github. https://github.com/danielcrenna/tweetsharp

Вот код для поиска

TwitterService service = new TwitterService();
var tweets = service.Search("#Test", 100);
List<TwitterSearchStatus> resultList = new List<TwitterSearchStatus>(tweets.Statuses);    

Если у вас более одной страницы результатов, вы можете настроить цикл и вызывать каждую страницу

 service.Search("#Test", i += 1, 100);
8 голосов
/ 13 марта 2011

Вы можете просто получить http://search.twitter.com/search.json?q=%23test, чтобы получить список твитов, содержащих #test в JSON, где %23test - это #test URL-адрес в кодировке.

Я не знаком с TweetSharp, но япредположим, что должна быть команда search, которую вы можете использовать для поиска #test, а затем самостоятельно преобразовать полученные твиты в JSON.

4 голосов
/ 20 июня 2013

Похоже, что в API произошли изменения за последние несколько месяцев.Вот обновленный код:

TwitterSearchResult res = twitter.Search(new SearchOptions { Q = "xbox" });
IEnumerable<TwitterStatus> status = res.Statuses;
0 голосов
/ 11 июля 2015

Я боролся с той же проблемой. Вот мое расплывчатое решение. Наслаждайтесь программированием. Он выйдет из функции при получении или получении необходимого количества твитов.

        string maxid = "1000000000000"; // dummy value
        int tweetcount = 0;


        if (maxid != null)
        {
            var tweets_search = twitterService.Search(new SearchOptions { Q = keyword, Count = Convert.ToInt32(count) });
            List<TwitterStatus> resultList = new List<TwitterStatus>(tweets_search.Statuses);
            maxid = resultList.Last().IdStr;
            foreach (var tweet in tweets_search.Statuses)
            {
                try
                {
                    ResultSearch.Add(new KeyValuePair<String, String>(tweet.Id.ToString(), tweet.Text));
                    tweetcount++;
                }
                catch { }
            }

            while (maxid != null && tweetcount < Convert.ToInt32(count))
            {
                maxid = resultList.Last().IdStr;
                tweets_search = twitterService.Search(new SearchOptions { Q = keyword, Count = Convert.ToInt32(count), MaxId = Convert.ToInt64(maxid) });
                resultList = new List<TwitterStatus>(tweets_search.Statuses);
                foreach (var tweet in tweets_search.Statuses)
                {
                    try
                    {
                        ResultSearch.Add(new KeyValuePair<String, String>(tweet.Id.ToString(), tweet.Text));
                        tweetcount++;
                    }
                    catch { }
                }

}

0 голосов
/ 25 мая 2015

У вас есть доступ с этим URL для поиска в твиттере. Но вы должны использовать протоколы OAuth.

https://api.twitter.com/1.1/search/tweets.json?q=%40twitterapi

...