Exemplo n.º 1
0
        private async Task <List <Meme> > GetMemesFromPage(int pageNumber)
        {
            var memesFromSpecificPage = new List <Meme>();
            var url = $"{_baseAddress}/strona/{pageNumber}";

            SendMessage($"Getting memes from URL: {url}");

            var memePage = await _client.GetAsync(url).Result.Content.ReadAsStringAsync();

            var htmlPartsContainingMeme = KwejkHtmlParser.GetMemeParts(memePage);

            foreach (var memePart in htmlPartsContainingMeme)
            {
                try
                {
                    memesFromSpecificPage.Add(new Meme()
                    {
                        Page      = Meme.SourcePage.KWEJK,
                        Title     = KwejkHtmlParser.GetTitleOfMeme(memePart),
                        ImagePath = KwejkHtmlParser.GetMemeImgPath(memePart),
                        Tags      = KwejkHtmlParser.GetMemeTags(memePart)
                    });
                }
                catch (Exception e)
                {
                    SendMessage($"Exception catched: {e.Message} on page {url}");
                }
            }

            return(memesFromSpecificPage);
        }
Exemplo n.º 2
0
        private async Task <int> GetNewestPageNumber()
        {
            var mainPage = await _client.GetAsync(_baseAddress).Result.Content.ReadAsStringAsync();

            return(int.Parse(KwejkHtmlParser.GetLastPageNumber(mainPage)));
        }