Как можно получить номер последной страницы

Нужно получить номер последной страницы для парсинга.

Классификация:

1)Когда можно получить номер последной страницы,как она есть сайте как в теге a kinoprofi.vip/.

То есть если спарсить все теги а из блока div можно получить номер последной страницы.

Код html

<div class="navigation-block">
<div class="navigation">
    <span>Назад</span> <span>1</span> <a href="https://kinoprofi.vip/page/2/">2</a> <a href="https://kinoprofi.vip/page/3/">3</a> <a href="https://kinoprofi.vip/page/4/">4</a> <a href="https://kinoprofi.vip/page/5/">5</a> <span class="nav_ext">...</span> <a href="https://kinoprofi.vip/page/1017/">1017</a> <a href="https://kinoprofi.vip/page/2/" class="next">Далее</a>
</div>

2)Когда нужно нажать номер последной страницы тогда получаем другие страницы ekb.zarplata.ru.

Тут мы получим следующие номера страниц только после нажатия последнюю,то есть 5ст и так далее.

Как тогда получить последнюю страницу,думаю не вариант клацать на сайте в поисках последний страницы ?! Думаю такой парсер никому не нужен.

Код html

введите сюда описание изображения

3)Когда нажата кнопка получаем следующую страницу prom.ua,тут тоже не понятно как получить номер последной страницы.

Код html

<div class="ek-box ek-box_padding_xs"><button data-qaid="load-more-button" type="button" class="ek-button ek-button_theme_yellow ek-button_width_1-1"><div>Показати ще</div></button></div>

Ответы (1 шт):

Автор решения: Vladimir

Ответ на мой вопрос перебор всех страниц пока есть данные. Спасибо за помощь EvgeniyZ

            int numpage = 1;
            while (true)
            {
                Console.WriteLine(numpage);
                string correntpage = $"{Url}{numpage}&tags={ArtistName}";

                HttpResponseMessage responce = await client.GetAsync(correntpage); //Получаем ответ с сайта.
                string source = default;

                if (responce != null && responce.StatusCode == HttpStatusCode.OK)
                {
                    source = await responce.Content.ReadAsStringAsync();//Помещаем код страницы в переменную.
                }
                
                HtmlParser domParser = new HtmlParser();
                IHtmlDocument document = await domParser.ParseDocumentAsync(source);
                var fileslinks = document.QuerySelectorAll("article.post-preview").Select(el => el.GetAttribute("data-file-url")).ToArray();
                Console.WriteLine($"Количиство ссылок{fileslinks.Length}");
                if (fileslinks.Length == 0)
                {
                    Console.WriteLine("Нет больше страниц");
                    break;
                }
                numpage++;
            }

Нашел реализацию многопоточного парсера Многопоточный парсинг на C# и работа с базой данных.

→ Ссылка