❗❗❗Так называемое Министерство юстиции РФ признало «Важные истории» «нежелательной организацией». Так что репост этого и любого другого нашего видео может караться штрафом, а повторный репост - уголовным делом. Но никто не может запретить вам смотреть и думать. Поэтому подписывайтесь на наш канал, просите подписаться своих друзей и оставайтесь с нами - в это темное время выжить мы сможем только вместе.
@ambro45802 жыл бұрын
все это грустно( кстати, этот сайт теперь без vpn не работает, как, правда, и тысячи других сайтов
@maratdgh4679 Жыл бұрын
Отлично подан материал, спасибо. А почетное звание иностранного агента это знак качества. Не стоит переживать из-за этого.
@fghhna Жыл бұрын
Очень приятная и качественная подача информации. Спасибо вам за ваш труд. Подписался.
@greregreew94512 жыл бұрын
Спасибо большое,за такую понятную подачу материала. Я даже на виндоус смог все понять,многих блогеров перебрал ничего не понял,а вы прям все подробно обьяснили!
@evgenyr71273 жыл бұрын
Очень круто объясняешь!
@andreyandreyovich5454 Жыл бұрын
Дякую, достатньо коротко й зрозуміло
@abaymakhanbetov37872 жыл бұрын
20:09 ошибка связана не тем что не успевает прогружатся, а потому что c 8 страницы начинаются заголовки с другим названием тега и класса.
@feelingshady2 жыл бұрын
Спасибо за ваш комментарий, очень помогло!
@bannylifegeekpost86272 жыл бұрын
Спасибо за урок! Очень помогла
@volodea13 Жыл бұрын
Боже, как же она доступно объясняет
@nickyr423 жыл бұрын
В последних версиях селениума (v4 и выше), окошко Хрома отрывается на момент работы программы, как только код заканчивается, окно Хрома сворачивается. Поэтому надо прописывать sleep(). Для настройки и написания кода, можно сначала использовать версию селена, как на видео.
@istories_workshop3 жыл бұрын
Спасибо большое за это дополнение! ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
@JohnDoe-hp5kw2 жыл бұрын
Спасибо тебе добрый человек Я всю голову сломал, в чем может быть ошибка)
@non53093 жыл бұрын
спасибо за видео, оч. полезное!
@vovaR110 ай бұрын
Девушка вы топ ❤ 😊 это огонь а не урок Я не шарю в этом и все понял 10/10
@ЯнМакотин2 жыл бұрын
Вот как можно учить что-то с такой ведущей 😍
@istories_workshop2 жыл бұрын
Прилежно!
@MrFanRam Жыл бұрын
Отлично! Спасибо Вам за работу
@zakirovio Жыл бұрын
Добрый день. На сайте из примера с учреждениями можно забирать данные из ответа в json
@chessketeer2 жыл бұрын
Спасибо за качественный тьюториал. Вопрос: а как переходить со страницы на страницу, если нет кнопки "Следующая страница". На сайте, который вы используете в видео, такой кнопки сейчас нет.
@Denmark11502 жыл бұрын
по идее можно реализовать через адрес страницы, как это делали в примере с топ 250 фильмами из кинопоиска. В видео при переходе на последующие страницы адресная строка не меняется. Сейчас же она уже изменяется. registry?d-442831-p=1&agencyTypesDropDownValue Так, например выглядит урл первой страницы registry?d-442831-p=2&agencyTypesDropDownValue А так 2ой. Мы можем через f строки подставить {p} вместо номера страницы во внешнем цикле и тогда номер страницы будет соответсововать значению P. Но я не пойму как это все сделать(
@Denmark11502 жыл бұрын
придумал в общем. вместо browser.find_element_bu_class_name('pagination__next').click() пишем browser.find_element_by_css_selector(f'body > div.main > ui-view > ui-view-ng-upgrade > ui-view > app-registry > div.results > div > div:nth-child(3) > div > div.b-controls__left_40.pagination_box1 > app-pagination > div > div > div:nth-child({p})').click() И внеший цикл делаем for p in range(2, 11): Старницы начинаю переключаться и до определенной страницы они делают это правильно, а потом начинается что-то непонятное.
@chessketeer2 жыл бұрын
@@Denmark1150 Спасибо, я тоже не разобрался как это сделать(. Кроме того, есть желание кликать на кнопку следующей страницы, чтобы имитировать поведение пользователя.
@chessketeer2 жыл бұрын
@@Denmark1150 Спасибо, этот вариант попробую.
@f4ke5432 жыл бұрын
@@Denmark1150 привет, вопрос хочу задать, вот у меня есть сайт с товарами который нужно спарсить, и у каждого товара есть своя страница, вот если мне нужны отдельные некоторые товары, то мне нужно копировать ссылку на товар и к ней писать код для сбора данных? и так для всех товаров которые я хочу спарсить, код же получится достаточно длинным. а также как мне нужен парсер который будет собирать данные 24/7 каждых 2-3 секунды, как это все организовать? если знаешь то отпиши пожалуйста!
@bujanovaes2 жыл бұрын
Спасибо, крутое видео 👍
@oldlipton34433 жыл бұрын
Спасибо! А текстовая версия урока будет доступна?
@istories_workshop3 жыл бұрын
Обязательно. Но чуть-чуть попозже ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
@istories_workshop3 жыл бұрын
ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА Добавили в описание!
@oldlipton34433 жыл бұрын
@@istories_workshop Большое спасибо за напоминание🙂!
@JohnDoe-hp5kw2 жыл бұрын
Круто, это даже удобнее чем bs4
@ivankrecker9210 Жыл бұрын
Здравствуйте. Когда soup меняю на item в цикле пишет - 'NoneType' object has no attribute 'text'. В чем может быть дело? Спасибо.
@niteiped Жыл бұрын
У меня вопрос, а можно использовать selenium в тихом режиме, тоесть чтоб он не открывал браузер?
@Человек-е1ф Жыл бұрын
Даже обидно как сейчас все в легком доступе для каждого)
@vovaR110 ай бұрын
А если нужно войти сначала на сайт по логину и паролю То как мы должный действовать и какой код ?
@floki_spb2 жыл бұрын
Всё идеально, но от селениума ушли на суп и в итоге вывод был из супа. А как выводить из селениума данные, не понятно
@28lucky163 жыл бұрын
А сколько Алеся питон изучает?Вот просто интересно
@istories_workshop3 жыл бұрын
Алеся учила Python в магистратуре ВШЭ три модуля. А потом самообразование - читала, смотрела, гуглила. ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
@day_tradingnew Жыл бұрын
Ошибка на 17 строке "input_tab" is not defined
@Каксохранитьденьги3 жыл бұрын
Годный контент, лайк.
@MrDimax79 Жыл бұрын
Что делать если сайт требует капчу при работе селениума?
@junior_analyst2 жыл бұрын
А где применение tqdm 😄
@quickbird2532 Жыл бұрын
Спасибо! Всё очень понятно объяснили
@daddy_eddy Жыл бұрын
Понятно-то объяснили. А повторить вы смогли?
@quickbird2532 Жыл бұрын
@@daddy_eddy смог
@trolik7512 жыл бұрын
Приятно и легко смотрится , но есть один интересный момент , как получить нужные нам информацию не запуская видимо браузер?
@istories_workshop2 жыл бұрын
Почитайте про PhantomJS у Selenium, она как раз делает именно это. ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
@n3tium Жыл бұрын
задать опции в коде? не?
@Sh.Vladislav Жыл бұрын
Где вы были раньше 😂 Прошел два ДПО и в каждом про Парсинг один беглый вебинар на супер простом сайте, а когда решил спарсить для выпускного проекта метрики с шазама…. Ну в общем для меня это оказалось болью)))
@ДмитрийЛаварден5 ай бұрын
Точку вместо пробела в названии класса ставишь и все норм ищет
@Denmark11502 жыл бұрын
Удобную кнопку, которая переносит нас на следующую страницу убрали. Как мы можем осуществить переход на следующую страницу с помощью селениума? Пытался осуществить это с помощью xpatn последующей кнопки страницы (после копирования xpath я вижу, что там указывается номер последуюзей страницы и, по идее, мы могли бы просто указать вместо номера страницы наш {p} через f строки, но в этой строке xpath так же и указывается предыдущий и последующий номера страниц. Реализовать, к сожалению, не получилось)
@Denmark11502 жыл бұрын
Отбой, додумался через css селектор. Но этот подход работает только до того момента, как мы доходим до кнопки с многоточием. Нужно явно указывать номер страницы в URL адресе
@Denmark11502 жыл бұрын
Вот так вот работает уже до 8 страницы, а дальше уже алгоритм сбора информации по name и link видимо изменяется. Дальше мне лень ковыяться) if p < 5: browser.find_element_by_css_selector(f'body > div.main > ui-view > ui-view-ng-upgrade > ui-view > app-registry > div.results > div > div:nth-child(3) > div > div.b-controls__left_40.pagination_box1 > app-pagination > div > div > div:nth-child({p})').click() else: browser.find_element_by_css_selector(f'body > div.main > ui-view > ui-view-ng-upgrade > ui-view > app-registry > div.results > div > div:nth-child(3) > div > div.b-controls__left_40.pagination_box1 > app-pagination > div > div > div:nth-child(5)').click()
@istories_workshop2 жыл бұрын
Супер! Спасибо, что поделились)
@bubblegum95452 жыл бұрын
Никогда бы не подумал, что селениум может пригодиться в журналистике...
@Mr6epkym2 жыл бұрын
Можно как-то задать в коде ожидание окончания прогрузки страницы не через sleep? Ведь из-за плохого соединения страница может не успеть прогрузиться, а делать большие задержки слишком расточительно по времени
@evgenius85656 ай бұрын
Можно попробовать timeout
@art_alf-b9b5 ай бұрын
симпотичная девочка)
@dhhshshsh6453 Жыл бұрын
Дальше 3-й минуты работа не идет. Получаю ошибку Message: unknown error: cannot find Chrome binary. Как устранить? За час активного гугления ошибку не удалось исправить
@alexeymendrin3 жыл бұрын
Друзья, мы в курсе, что вам нужно отчет подавать и что Роман приболел, но мы соскучилсь по продолжению и хорошим людям. Здоровья и выдержки!
@artsirenko70762 жыл бұрын
А вот я хочу сделать сканер онкологических диспансеров с интерфейсом для андроид. Какой драйвер мне использовать?
@n3tium Жыл бұрын
так это уже надо клиент-сервер делать. где селениум будет крутиться на сервере. а ведроид только получать результат
@user-cn4dt7tk4i2 жыл бұрын
Это уроки на Python3?
@istories_workshop2 жыл бұрын
Здравствуйте, да. ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
@dmitrijgaliyllin5642 Жыл бұрын
Библиотека sleep )))
@ТаалайбекУтуров2 жыл бұрын
Здравствуйте. Есть тег:
@ДмитрийЛаварден5 ай бұрын
ByTag используй
@MoTuJIb872 жыл бұрын
А как же понять какая библиотека для сайта нужна?
@МаксимМаксим-ю5о6д2 жыл бұрын
у меня в настройках 106 версия и на сайте тоже есть 106... вот только какая моя, если у меня 7 windows
@Чуваш-ы3ц2 жыл бұрын
хорошее видео
@zhandosissayev9798 Жыл бұрын
10:45 13:10 14:30 15:10 15:35 17:40 19:20
@elnursh2 жыл бұрын
возможно ли парсить в фоновом режиме?
@istories_workshop2 жыл бұрын
Можно поверх окна открыть свой браузер и делать дела. А можно использовать PhontonJs, но не все сайты можно парсить через него. ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
@КайлБатлер-ч1б2 жыл бұрын
Добавляешь в опции параметр “headles” и работает в фоновом режиме. Синтаксис погугли сам, тут лень писать
@f4ke5432 жыл бұрын
@@КайлБатлер-ч1б привет, вопрос хочу задать, вот у меня есть сайт с товарами который нужно спарсить, и у каждого товара есть своя страница, вот если мне нужны отдельные некоторые товары, то мне нужно копировать ссылку на товар и к ней писать код для сбора данных? и так для всех товаров которые я хочу спарсить, код же получится достаточно длинным. а также как мне нужен парсер который будет собирать данные 24/7 каждых 2-3 секунды, как это все организовать? если знаешь то отпиши
@КайлБатлер-ч1б2 жыл бұрын
@@f4ke543 привет. Дай сайт и тз попробую
@Developer_python_ Жыл бұрын
Спасибі
@alexeymendrin3 жыл бұрын
tqdm остался не у дел :)
@istories_workshop3 жыл бұрын
Действительно! Забыли про него, но можете использовать его для циклов, чтобы увидеть прогресс-бар. ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
@alexeymendrin3 жыл бұрын
@@istories_workshop спасибо! даже знать о нужной библиотеке уже полезно :)
@ЭхоРима2 жыл бұрын
спасибо, единственный ресурс, где я поняла наконец-то
@Messir10 ай бұрын
Какой еще нахер "иностранный агент"?
@elnursh2 жыл бұрын
как легко деплоить селениум на сервере?
@f4ke5432 жыл бұрын
привет, вопрос хочу задать, вот у меня есть сайт с товарами который нужно спарсить, и у каждого товара есть своя страница, вот если мне нужны отдельные некоторые товары, то мне нужно копировать ссылку на товар и к ней писать код для сбора данных? и так для всех товаров которые я хочу спарсить, код же получится достаточно длинным. а также как мне нужен парсер который будет собирать данные 24/7 каждых 2-3 секунды, как это все организовать? если знаешь то отпиши
@БатяняВомбат-б2е2 ай бұрын
А что это за чухня с иностранным агентом?
@linterrupt2 жыл бұрын
В конце цикл не до 10, а до 9 надо. Потому что нумерация начинается с 0
@UserUser-xz4fw Жыл бұрын
Выдает ошибку NameError: name 'Chrome' is not defined
@uvencosuper34712 жыл бұрын
Я не понял, зачем селениум в парсинге. Т.е. что может селениюм, чего бы нельзя было сделать с помощью реквестс? Если очень вдумчиво посидеть над разведкой, всегда можно организовать парсинг без селениума ИМХО. Селениум для тестинга, меня дико коробит, когда нет времени и я что то пилю на селениуме (естественно скрывая браузер), мне кажется, использование селениума в парсинге - это просто костыль для ленивых.
@istories_workshop2 жыл бұрын
Селениум позволяет парсить, поэтому мы решили разобрать и эту библиотеку в рамках серии уроков про парсинг)) Возможно, кому-то понравится работать именно с ним. На вкус и цвет парсеры разные)) ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
@f4ke5432 жыл бұрын
привет, вопрос хочу задать, вот у меня есть сайт с товарами который нужно спарсить, и у каждого товара есть своя страница, вот если мне нужны отдельные некоторые товары, то мне нужно копировать ссылку на товар и к ней писать код для сбора данных? и так для всех товаров которые я хочу спарсить, код же получится достаточно длинным. а также как мне нужен парсер который будет собирать данные 24/7 каждых 2-3 секунды, как это все организовать? если знаешь то отпиши
@uvencosuper34712 жыл бұрын
@@f4ke543 1. цикл в цикле 2. бот на халявном Heroku
@f4ke5432 жыл бұрын
@@uvencosuper3471 на счет хероку я понял, но можешь также просветить на счет еще одного, вот я пишу парсер который будет 24/7 парсить данные с динамического сайта и потом отправлять в тг бота написаного с помощью айограма , а он уже мне будет данные скидывать (в онлайн режиме, тоесть по мере поступление их на сайт, он сразу же будет мне данные скидывать) мне надо будет на хероку скрипт и парсера и бота загружать или только что то одно из этого? И также на счет цикла в цикле, если честно даже малейшего понятие не вижу как это может выглядеть (пишу парсер только для себя впервые). Если я просто возьму урл всех страниц товаров которые мне нужны и с помощью риквеста get. буду каждый раз обращаться к новой ссылке, и после этого прописывать код чтобы с товаров парсились определенные значение, и так каждый раз, такая схема имеет место быть? или же так не получится вовсе/будет долго/не правильно и тд, просвети пожалуйста!
@uvencosuper34712 жыл бұрын
@@f4ke543 1. и парсера, и бота 2.внешний цикл парсит страницы сайта (пагинация), внутренний тут же на этой же итерации парсит "карточки" (карточка - блок нужных тебе данных) на этой странице. Это нормально. Долго, но нормально. Хочешь не долго - гугли асинхронный парсинг.