Парсинг данных с любого сайта на C#. Часть 4 - Selenium

  Рет қаралды 14,953

loftblog

loftblog

2 жыл бұрын

Четвертая часть из серии по парсингу данных.
Данный материал дает практические данные по парсингу данных.
Вы узнаете как из кода программы автоматизировать действия веб-браузера из спарсить необходимую информацию с любого веб-портала.
Полезные ссылки:
• Парсинг данных с любог... - Первая часть мастер-класса
• Парсинг данных с любог... - Вторая часть мастер-класса
• Парсинг данных с любог... - Третья часть мастер-класса
github.com/menshikovyaroslav/... - код проекта мастер-класса
github.com/menshikovyaroslav/... - мои реализации классов GetRequest и PostRequest
/ yarche - расширяем сеть знакомств
habr.com/ru/post/554562/ - возможности Fiddler

Пікірлер: 19
@igorpom6874
@igorpom6874 2 жыл бұрын
Я посмотрел весь плейлист, очень интересно! Спасибо за этот рассказ, просто супер понятно, мне -новичку- само то.
@russianyoutubeuser5023
@russianyoutubeuser5023 Жыл бұрын
Лучшее видео по парсингу, что я смог найти. Мне нужно вытащить информацию с сайта, где для получения цен нужна авторизация. Да и к тому же сайт как-то странно работает на платформе ASP и я тупой (это первая причина). Короче долго искал способ парсить используя конкретный браузер с возможностью понятным образом авторизоваться. Короче Супер решение, спасибо за Ваш труд!
@marksreider7645
@marksreider7645 2 жыл бұрын
все круто, спасибо за урок!
@GanovAlex
@GanovAlex 2 жыл бұрын
спасибо за отличное видео
@olenebanov605
@olenebanov605 2 жыл бұрын
Лайк!
@nestartup
@nestartup 2 жыл бұрын
лайк
@kekand0s141
@kekand0s141 2 жыл бұрын
Добавил вермя паузы между кликами на 2,5 сек, прошел уже 30 элементов без капчи. Поэтому выход на этом сайте - увеличить время паузы!
@kekand0s141
@kekand0s141 2 жыл бұрын
Скорее всего пробелма с XPath была то, что он установлен на Фаерфокс, а если поставить его на хром, то все работает!
@hargevorgyan
@hargevorgyan 2 жыл бұрын
Проблема вот в чем:Ты нигде не дал значение строки oldNumber,он прошел до 18 страницы и тогда кнопка ВПЕРЕД стал не кликабельным ,просто нужно удалить эту строку и if,вместо этого взять кнопку ВПЕРЕД в try и в catche е сделать break; Надеюсь помог,спасибо за уроки ))
@GanovAlex
@GanovAlex 2 жыл бұрын
и заодно счетчик сразу в While вместо true прописать
@oleguna1403
@oleguna1403 Жыл бұрын
Почему-то метод getAttribute Не распознается c#
@danglog7376
@danglog7376 2 жыл бұрын
По этому ролику толкового мало. Нету практически ничего интересного. Допустим, как получить все уголовные дела? Не первое попавшее - это проще всего реализовать. А вот всё дела. Просто тест вывести. Думаю, это будет намного полезнее новичкам, нежели подобное
@wordpreslabs
@wordpreslabs 2 жыл бұрын
Боже, насколько же проще на питоне работать с selenium, просто отвал)) сочувствую конечно тем кому приходиться писать на шарпе тест кейсы)
@yaroslavmenshikov28
@yaroslavmenshikov28 2 жыл бұрын
Расскажите нам, насколько. Честно, хочу знать.
@wordpreslabs
@wordpreslabs 2 жыл бұрын
@@yaroslavmenshikov28 не буду мериться строками кода, но код выглядит существенно компактнее. Про производительность говорить не буду, но мне на сервере запускать хром в хэндлас режиме, намного проще и быстрее питоном. Не так давно решал задачу с гаданием капчи, так все решается подключением плагина при инициализации браузера, а потом заполнение авторизации в самом плагине. Хром увы не вывез, зато лиса работает как часики)
@ZimnayRoza
@ZimnayRoza 2 жыл бұрын
честно сказать, в этом уроке я кейсы то и не увидела) это приложение явно с другой целью, правда мне не до конца понятно какой и для чего, ведь как правильно автор заметил в начале - данные можно получить рестами, что работает гораздо быстрее) но скорее всего, может быть очень полезным для быстрого решения какой-то другой задачи... Также вместо ожидания элемента вручную (цикла) можно было использовать селениумовское явное ожидание - не понятно, почему автор его не использовал. Тоже самое касается Task.Delay.... ExpectedConditions в этом плане гораздо гибче работают - они также проверяют на странице наличие элемента в течение указанного времени в заданном интервале, и если находят элемент раньше этого времени, то дальше уже программа ждать не будет и перейдет к исполнению следующей команды.
@yaroslavmenshikov28
@yaroslavmenshikov28 2 жыл бұрын
@@ZimnayRoza Спасибо за ответ, автор в основном использует get/post подход )
@GratshDREiL
@GratshDREiL 2 жыл бұрын
@@ZimnayRoza потому что родное решение по ожиданию загрузки страницы в селениум работает не качественно, потому лучше делать подобную проверку в цикле
@remanseptim4255
@remanseptim4255 Жыл бұрын
Какой же говнокод.
Sprinting with More and More Money
00:29
MrBeast
Рет қаралды 151 МЛН
Что такое HTML и CSS
5:39
Юрий Куликовский - Поэт
Рет қаралды 24 М.
Docker за 20 минут
21:42
suchkov tech
Рет қаралды 58 М.
Вопросы собеседования на C# программиста
21:04
Програмысли Влог
Рет қаралды 61 М.