コード例 #1
0
 private ILibraryRequest CreateWebLibrary(string url, CssSelector selector)
 {
     if (string.IsNullOrWhiteSpace(url))
     {
         throw new ArgumentNullException("url");
     }
     return(new WebLibrary(url.Trim(), new HtmlAlbumParser(selector)));
 }
コード例 #2
0
        public HtmlAlbumParser(CssSelector cssSelector)
        {
            if (cssSelector == null)
            {
                throw new ArgumentNullException("cssSelector");
            }
            if (string.IsNullOrWhiteSpace(cssSelector.AlbumElement))
            {
                throw new ArgumentNullException("cssSelector.AlbumElement");
            }
            if (string.IsNullOrWhiteSpace(cssSelector.ArtistElement))
            {
                throw new ArgumentNullException("cssSelectorArtist");
            }

            SelectorElement = cssSelector;
        }
コード例 #3
0
        static void Main(string[] args)
        {
            string search = string.Empty;

            // Адрес ресурса, к которому выполняется запрос
            string url = "https://www.last.fm/ru/music/{0}/+albums";

            // селектор для поиска в ответе
            var cssSelector = new CssSelector()
            {
                ArtistElement = ".header-title a",
                AlbumElement  = ".album-grid-item-title a"
            };

            Console.WriteLine("Добро пожаловать на LAST.FM\n");
            var controller = new LibraryController(url, cssSelector);

            do
            {
                try
                {
                    search = GetArtistNameForSearch();

                    Console.WriteLine($"\nРезультат поиска \"{search}\":\n");

                    var results = controller.OutputResult(search);
                    foreach (var item in results)
                    {
                        Console.WriteLine(item);
                    }

                    Console.Write("\nДля завершения работы, нажмите 0.\nДля продолжения нажмите Enter: ");
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            } while (IsFinish());
        }
コード例 #4
0
 public LibraryContext(string url, CssSelector cssSelector)
 {
     State = new WebLibrary(url, new HtmlAlbumParser(cssSelector));
 }
コード例 #5
0
        public LibraryController(string url, CssSelector selector)
        {
            var webLibrary = CreateWebLibrary(url, selector);

            CashLibrary = new CashXmlLibrary(webLibrary, new XmlAlbumParser(FilePathCash));
        }