Если в двух словах то я никак не пойму как делать скрол в низ, либо подгружать контент на таких сайтах как вк(стенки), pinterest.com или deviantart.com. Страницу загружаю парсю, но там не весь контент и как его догрузить чтоб допарсить?
Открываешь в браузере инструменты веб-разработчика, раздел Сеть. Открываешь целевой сайт. После окончания загрузки страницы в панельке Сеть очищаешь список появившихся там запросов и скроллишь вниз страничку. В какой-то момент будет начата догрузка контента. На панельке Сеть появится новый список запросов? инициированных догрузкой. Тебе нужен самый первый Post/Get, который запрашивает html или plain/text. Выбираешь его, остается только скрупулёзно изучать заголовки этого запроса и URL куда он улетел.
Дальше всё примитивно, создаешь WebRequest
, у него в свойствах копируешь все критичные заголовки изученного выше запроса и остаётся выполнить GetResponse()
=> WebResponse
=> GetResponseStream()
=> Stream
=> StreamReader
=> целевой string
.
Если в ответе видишь мусор, то данные были сжаты, используй автоматическую декомпрессию. Когда будешь изучать запрос догрузки контента при скроллинге/пагинации смотри не только на заголовки запроса, но и на его тело, в большинстве случаев именно там все интересующие тебя зависимости. Ну и плюс сам target URL может различаться от страницы к странице в пределах одного домена.
Можно сразу юзать HttpWebRequest
, если этого тебе будет достаточно. Про HttpClient
придется забыть. И вот тут я наконец разул глаза и увидел, что вопрос про AngleSharp, отправлю, зря печатал что ли. AngleSharp core скроллить не умеет, поддержка планировалась в AngleSharp.Scripting, но не знаю, реализовал ли её автор к текущему моменту.
Оборудование для ресторана: новинки профессиональной кухонной техники
Частный дом престарелых в Киеве: комфорт, забота и профессиональный уход
Задача: Запустить программуВсе то, что было скопировано за время работы программы - сохранять в листе
Делал задачку на цикл, решил пошагово посмотреть как все работает и встал в ступорПочему не выходит из цикла когда j = 4?
Пытаюсь вызвать signInManagerCreateUserPrincipalAsync(user), а он чудит:
Я запускаю IE (в общем любой браузер) из программы c# и мне необходимо изменить масштаб отображения страницы сайтаС запуском и открытием страницы...