Beispiel #1
0
        public IEnumerable <DownloadMusicItem> Scrape(string query)
        {
            const int     max_records    = 100;
            SearchManager search_manager = new SearchManager(cookieContainer, session.Session);

            for (int i = 0; i < 16; i++)
            {
                var search_task = search_manager.Search(
                    SearchBuilder.Build(
                        SearchType.Video, query, NicoNicoTarget.Keyword, NicoNicoSort.StartTime, false)
                    .Offset(i * max_records)
                    .Limit(max_records)
                    .Range(NicoNicoFilter.StartTime, NicoNicoFilterOperator.Gte, this.lastDateTime)
                    );
                var videoToAudioConveter = new VideoToAudioConveter();
                videoToAudioConveter.TitleConverter = TitileConverterInfo.Build("format.txt", "bands.txt", "ignore.txt");
                var search_result = search_task.Result;
                foreach (var search in search_result.Data)
                {
                    Logger.Current.WriteLine(string.Format("getting titile from {0}", search.ContentId));
                    Logger.Current.WriteLine(string.Format("title:{0} description:{1}", search.Title, search.Description));
                    string title = videoToAudioConveter.GetMusicTitle(search.Title, search.Description);
                    yield return(new DownloadMusicItem(search.ContentId, title));
                }
            }

            using (StreamWriter sw = new StreamWriter(config_file_name))
            {
                sw.WriteLine(DateTime.Now.ToString(date_format));
            }
        }
Beispiel #2
0
        static async Task Main(string[] args)
        {
            var q = "dublin";

            var d  = new Daft();
            var sb = new SearchBuilder()
                     .WithAdState(new[] { AdState.Available })
                     .WithKeyword("dublin");

            var rslt = await d.Search(sb.Build());

            if (rslt != null)
            {
                //do something with rslt
            }
        }
        private static Entity Search(string url)
        {
            var query = SearchUrlPattern.Match(HttpUtility.UrlDecode(url)).Groups[1].Value;

            var searchBuilder = new SearchBuilder().WithQuery(query);

            var nameValueCollection = HttpUtility.ParseQueryString(new Uri(RedditBaseAddress, url).Query);

            IEnumerable <Thing> things;

            if (nameValueCollection.AllKeys.Contains("type"))
            {
                var type = nameValueCollection["type"];

                var count = nameValueCollection.AllKeys.Contains("count") ? int.Parse(nameValueCollection["count"]) : 0;

                searchBuilder.WithCount(count);

                if (type == "subreddit")
                {
                    things = new Reddit().SearchSubreddits(query).Skip(count).Take(25);
                    searchBuilder.OnlySubreddit();
                }
                else
                {
                    things = new Reddit().Search <Thing>(query).Skip(count).Take(25);
                    searchBuilder.OnlyPost();
                }
            }
            else
            {
                things = new Reddit().SearchSubreddits(query).Take(3).Concat(new Reddit().Search <Thing>(query).Take(22));
            }

            return(searchBuilder.Build(things));
        }
Beispiel #4
0
        static async Task MainAsync(string[] args)
        {
            Console.WriteLine("Enter Email: ");
            var email = Console.ReadLine();

            Console.WriteLine("Enter Password: "******"";
            ConsoleKeyInfo key;

            do
            {
                key = Console.ReadKey(true);
                if (key.Key != ConsoleKey.Backspace && key.Key != ConsoleKey.Enter)
                {
                    pass += key.KeyChar;
                    Console.Write("*");
                }
                else
                {
                    if (key.Key != ConsoleKey.Backspace || pass.Length <= 0)
                    {
                        continue;
                    }
                    pass = pass.Substring(0, (pass.Length - 1));
                    Console.Write("\b \b");
                }
            }while (key.Key != ConsoleKey.Enter);

            var authManager      = new AuthenticationManager();
            var userLoginSession = await authManager.LoginUserThroughV1ApiAsync(email, pass);

            var cookieContainer = authManager.CreateLoginCookieContainer(userLoginSession);

            // Reset the authentication manager with the proper cookie container.
            authManager = new AuthenticationManager(cookieContainer);
            var session = await authManager.StartUserSessionAsync();

            // In order to test "extending" the users session, we need to reset the authManager again,
            // this time with the session key.
            authManager = new AuthenticationManager(cookieContainer, session.Session);

            var test = await authManager.ExtendUserSessionAsync();

            //var genreManager = new GenreManager(cookieContainer, session.Session);
            //var test3 = await genreManager.GetGenreListAsync();
            //var test4 = await genreManager.GetGenreGroupsAsync();

            var searchManager = new SearchManager(cookieContainer, session.Session);
            //var test13 = await searchManager.GetSuggestions("実況");
            var test14 = await searchManager.Search(SearchBuilder.Build(SearchType.Video, "東方ヴォーカル", NicoNicoTarget.Keyword, NicoNicoSort.StartTime, true).Offset(0).Limit(10));

            //var liveVideoManager = new LiveVideoManager(cookieContainer, session.Session);
            //var test10 = await liveVideoManager.GetComingSoonListAsync();
            //var test11 = await liveVideoManager.GetOnAirListAsync();

            //var videoManager = new VideoManager(cookieContainer, session.Session);
            //var test5 = await videoManager.GetDefListAsync(0, 10);
            //var test2 = await videoManager.GetVideoInfoAsync(new string[] { "sm26238346", "sm9" });
            //var test8 = await videoManager.GetVideoFlvAsync("sm28943856");
            //var test6 = await videoManager.GetVideoInfoAsync("sm26238346");
            //var thumbManager = new ThumbManager(cookieContainer, session.Session);
            //var test7 = await thumbManager.GetThumbInfoAsync("sm26156154");

            //var download_container = new System.Net.CookieContainer();
            //download_container.Add(new System.Net.Cookie("user_session", userLoginSession.SessionKey, "/", "nicovideo.jp"));
            //download_container.Add(new System.Net.Cookie("nicohistory", nicohistory, "/", "nicovideo.jp"));

            var userManager = new UserManager(cookieContainer, session.Session);
            var user        = await userManager.GetCurrentUserInfoAsync();

            await userManager.GetCurrentUserPremiumInfoAsync(user.User);

            Console.WriteLine("");
            Console.WriteLine("Nickname: " + user.User.Nickname);
            Console.WriteLine("Country: " + user.User.Country);
            Console.WriteLine("Prefecture: " + user.User.Prefecture);
            Console.WriteLine("Sex: " + user.User.Sex);
            Console.WriteLine("Thumbnail: " + user.User.ThumbnailUrl);
            Console.WriteLine("Push any key to exit");
            Console.ReadKey();
        }