Exemplo n.º 1
0
        public static IEnumerable <TwitterStatus> Search(TweetSearchOption option)
        {
            List <TwitterStatus> returns = new List <TwitterStatus>();

            IEnumerable <TwitterStatus> searchResult = TwitterApi.Search(option);

            char[] invalidChara  = Path.GetInvalidFileNameChars();
            string queryFileName = option.Query + "_" + DateTime.Now.ToString("yyMMdd_HHmm") + ".json";

            foreach (char c in invalidChara)
            {
                queryFileName = queryFileName.Replace(c, Strings.StrConv(c.ToString(), VbStrConv.Wide)[0]);
            }

            if (!Directory.Exists("検索結果/"))
            {
                Directory.CreateDirectory("検索結果");
            }

            using (StreamWriter writer = new StreamWriter("検索結果/" + queryFileName))
            {
                writer.WriteLine(JsonConvert.SerializeObject(searchResult, Formatting.Indented));
            }
            returns = returns.Concat(searchResult).ToList();

            return(returns);
        }
Exemplo n.º 2
0
 /// <summary>
 /// 생성자
 /// </summary>
 /// <param name="keyword">검색 문자열</param>
 /// <param name="language">검색되는 tweet의 언어 제한</param>
 /// <param name="scrapOption">검색 옵션</param>
 /// <param name="maxTweetCount">최대 검색할 트위터의 수</param>
 public TweetSearchQuery(string keyword,
                         string language = "ko",
                         TweetSearchOption scrapOption = TweetSearchOption.Recently,
                         int maxTweetCount             = 15)
 {
     Keyword      = keyword;
     Language     = language;
     SearchOption = scrapOption;
     MaxCount     = maxTweetCount;
     MaxId        = ulong.MaxValue;
     UntilDate    = DateTime.Now;
 }
Exemplo n.º 3
0
        public static IEnumerable <TwitterStatus> Search(TweetSearchOption option)
        {
            SearchOptions options = new SearchOptions
            {
                //Resulttype = TwitterSearchResultType.Recent,
                Q      = GenerateQueryString(option.Query, DateTime.Parse(option.Since), DateTime.Parse(option.Until)),
                Lang   = option.Lang,
                Locale = option.Locale,
                //IncludeEntities = includeEntities,
                Geocode = GeoValueToGeoData(option.Latitude, option.Longtitude, option.Radius),
                SinceId = option.SinceId,
                MaxId   = option.MaxId,
                Count   = option.Count
            };

            return(Search(options));
        }
Exemplo n.º 4
0
        static void Main(string[] args)
        {
            TweetSearchOption option = TweetSearchOption.Parse(args);

            List <TwitterStatus> data = Logic.Search(option).ToList();

            Console.WriteLine("{0}件のツイートを取得しました", data.Count());

            if (!Directory.Exists(option.OutputFile))
            {
                Directory.CreateDirectory(option.OutputFile);
            }

            using (StreamWriter writer = new StreamWriter(option.OutputFile))
            {
                writer.WriteLine(JsonConvert.SerializeObject(data, Formatting.Indented));
            }

            return;
        }