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); }
/// <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; }
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)); }
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; }