❗❗❗Так называемое Министерство юстиции РФ признало «Важные истории» «нежелательной организацией». Так что репост этого и любого другого нашего видео может караться штрафом, а повторный репост - уголовным делом. Но никто не может запретить вам смотреть и думать. Поэтому подписывайтесь на наш канал, просите подписаться своих друзей и оставайтесь с нами - в это темное время выжить мы сможем только вместе.
Спасибо большое,за такую понятную подачу материала. Я даже на виндоус смог все понять,многих блогеров перебрал ничего не понял,а вы прям все подробно обьяснили!
В последних версиях селениума (v4 и выше), окошко Хрома отрывается на момент работы программы, как только код заканчивается, окно Хрома сворачивается. Поэтому надо прописывать sleep(). Для настройки и написания кода, можно сначала использовать версию селена, как на видео.
Спасибо большое за это дополнение! ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
Спасибо за качественный тьюториал. Вопрос: а как переходить со страницы на страницу, если нет кнопки "Следующая страница". На сайте, который вы используете в видео, такой кнопки сейчас нет.
по идее можно реализовать через адрес страницы, как это делали в примере с топ 250 фильмами из кинопоиска. В видео при переходе на последующие страницы адресная строка не меняется. Сейчас же она уже изменяется. registry?d-442831-p=1&agencyTypesDropDownValue Так, например выглядит урл первой страницы registry?d-442831-p=2&agencyTypesDropDownValue А так 2ой. Мы можем через f строки подставить {p} вместо номера страницы во внешнем цикле и тогда номер страницы будет соответсововать значению P. Но я не пойму как это все сделать(
придумал в общем. вместо 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): Старницы начинаю переключаться и до определенной страницы они делают это правильно, а потом начинается что-то непонятное.
@@Denmark1150 Спасибо, я тоже не разобрался как это сделать(. Кроме того, есть желание кликать на кнопку следующей страницы, чтобы имитировать поведение пользователя.
@@Denmark1150 привет, вопрос хочу задать, вот у меня есть сайт с товарами который нужно спарсить, и у каждого товара есть своя страница, вот если мне нужны отдельные некоторые товары, то мне нужно копировать ссылку на товар и к ней писать код для сбора данных? и так для всех товаров которые я хочу спарсить, код же получится достаточно длинным. а также как мне нужен парсер который будет собирать данные 24/7 каждых 2-3 секунды, как это все организовать? если знаешь то отпиши пожалуйста!
Почитайте про PhantomJS у Selenium, она как раз делает именно это. ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
Удобную кнопку, которая переносит нас на следующую страницу убрали. Как мы можем осуществить переход на следующую страницу с помощью селениума? Пытался осуществить это с помощью xpatn последующей кнопки страницы (после копирования xpath я вижу, что там указывается номер последуюзей страницы и, по идее, мы могли бы просто указать вместо номера страницы наш {p} через f строки, но в этой строке xpath так же и указывается предыдущий и последующий номера страниц. Реализовать, к сожалению, не получилось)
Отбой, додумался через css селектор. Но этот подход работает только до того момента, как мы доходим до кнопки с многоточием. Нужно явно указывать номер страницы в URL адресе
Вот так вот работает уже до 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()
Можно как-то задать в коде ожидание окончания прогрузки страницы не через sleep? Ведь из-за плохого соединения страница может не успеть прогрузиться, а делать большие задержки слишком расточительно по времени
Где вы были раньше 😂 Прошел два ДПО и в каждом про Парсинг один беглый вебинар на супер простом сайте, а когда решил спарсить для выпускного проекта метрики с шазама…. Ну в общем для меня это оказалось болью)))
Обязательно. Но чуть-чуть попозже ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА Добавили в описание!
Дальше 3-й минуты работа не идет. Получаю ошибку Message: unknown error: cannot find Chrome binary. Как устранить? За час активного гугления ошибку не удалось исправить
Алеся учила Python в магистратуре ВШЭ три модуля. А потом самообразование - читала, смотрела, гуглила. ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
Здравствуйте, да. ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
Можно поверх окна открыть свой браузер и делать дела. А можно использовать PhontonJs, но не все сайты можно парсить через него. ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
@@КайлБатлер-ч1б привет, вопрос хочу задать, вот у меня есть сайт с товарами который нужно спарсить, и у каждого товара есть своя страница, вот если мне нужны отдельные некоторые товары, то мне нужно копировать ссылку на товар и к ней писать код для сбора данных? и так для всех товаров которые я хочу спарсить, код же получится достаточно длинным. а также как мне нужен парсер который будет собирать данные 24/7 каждых 2-3 секунды, как это все организовать? если знаешь то отпиши
Действительно! Забыли про него, но можете использовать его для циклов, чтобы увидеть прогресс-бар. ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
привет, вопрос хочу задать, вот у меня есть сайт с товарами который нужно спарсить, и у каждого товара есть своя страница, вот если мне нужны отдельные некоторые товары, то мне нужно копировать ссылку на товар и к ней писать код для сбора данных? и так для всех товаров которые я хочу спарсить, код же получится достаточно длинным. а также как мне нужен парсер который будет собирать данные 24/7 каждых 2-3 секунды, как это все организовать? если знаешь то отпиши
Я не понял, зачем селениум в парсинге. Т.е. что может селениюм, чего бы нельзя было сделать с помощью реквестс? Если очень вдумчиво посидеть над разведкой, всегда можно организовать парсинг без селениума ИМХО. Селениум для тестинга, меня дико коробит, когда нет времени и я что то пилю на селениуме (естественно скрывая браузер), мне кажется, использование селениума в парсинге - это просто костыль для ленивых.
Селениум позволяет парсить, поэтому мы решили разобрать и эту библиотеку в рамках серии уроков про парсинг)) Возможно, кому-то понравится работать именно с ним. На вкус и цвет парсеры разные)) ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
привет, вопрос хочу задать, вот у меня есть сайт с товарами который нужно спарсить, и у каждого товара есть своя страница, вот если мне нужны отдельные некоторые товары, то мне нужно копировать ссылку на товар и к ней писать код для сбора данных? и так для всех товаров которые я хочу спарсить, код же получится достаточно длинным. а также как мне нужен парсер который будет собирать данные 24/7 каждых 2-3 секунды, как это все организовать? если знаешь то отпиши
@@uvencosuper3471 на счет хероку я понял, но можешь также просветить на счет еще одного, вот я пишу парсер который будет 24/7 парсить данные с динамического сайта и потом отправлять в тг бота написаного с помощью айограма , а он уже мне будет данные скидывать (в онлайн режиме, тоесть по мере поступление их на сайт, он сразу же будет мне данные скидывать) мне надо будет на хероку скрипт и парсера и бота загружать или только что то одно из этого? И также на счет цикла в цикле, если честно даже малейшего понятие не вижу как это может выглядеть (пишу парсер только для себя впервые). Если я просто возьму урл всех страниц товаров которые мне нужны и с помощью риквеста get. буду каждый раз обращаться к новой ссылке, и после этого прописывать код чтобы с товаров парсились определенные значение, и так каждый раз, такая схема имеет место быть? или же так не получится вовсе/будет долго/не правильно и тд, просвети пожалуйста!
@@f4ke543 1. и парсера, и бота 2.внешний цикл парсит страницы сайта (пагинация), внутренний тут же на этой же итерации парсит "карточки" (карточка - блок нужных тебе данных) на этой странице. Это нормально. Долго, но нормально. Хочешь не долго - гугли асинхронный парсинг.
❗❗❗Так называемое Министерство юстиции РФ признало «Важные истории» «нежелательной организацией». Так что репост этого и любого другого нашего видео может караться штрафом, а повторный репост - уголовным делом.
Но никто не может запретить вам смотреть и думать. Поэтому подписывайтесь на наш канал, просите подписаться своих друзей и оставайтесь с нами - в это темное время выжить мы сможем только вместе.
все это грустно(
кстати, этот сайт теперь без vpn не работает, как, правда, и тысячи других сайтов
Отлично подан материал, спасибо. А почетное звание иностранного агента это знак качества. Не стоит переживать из-за этого.
Очень приятная и качественная подача информации. Спасибо вам за ваш труд. Подписался.
Спасибо большое,за такую понятную подачу материала. Я даже на виндоус смог все понять,многих блогеров перебрал ничего не понял,а вы прям все подробно обьяснили!
Дякую, достатньо коротко й зрозуміло
Очень круто объясняешь!
20:09 ошибка связана не тем что не успевает прогружатся, а потому что c 8 страницы начинаются заголовки с другим названием тега и класса.
Спасибо за ваш комментарий, очень помогло!
Спасибо за урок! Очень помогла
Боже, как же она доступно объясняет
В последних версиях селениума (v4 и выше), окошко Хрома отрывается на момент работы программы, как только код заканчивается, окно Хрома сворачивается. Поэтому надо прописывать sleep(). Для настройки и написания кода, можно сначала использовать версию селена, как на видео.
Спасибо большое за это дополнение!
ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
Спасибо тебе добрый человек
Я всю голову сломал, в чем может быть ошибка)
спасибо за видео, оч. полезное!
Инноагент...Подписался!
Отлично! Спасибо Вам за работу
Всё идеально, но от селениума ушли на суп и в итоге вывод был из супа. А как выводить из селениума данные, не понятно
Девушка вы топ ❤ 😊 это огонь а не урок
Я не шарю в этом и все понял 10/10
Добрый день. На сайте из примера с учреждениями можно забирать данные из ответа в json
Спасибо! Всё очень понятно объяснили
@DaddyEddy смог
Вот как можно учить что-то с такой ведущей 😍
Прилежно!
Здравствуйте. Когда soup меняю на item в цикле пишет - 'NoneType' object has no attribute 'text'. В чем может быть дело? Спасибо.
Спасибо за качественный тьюториал. Вопрос: а как переходить со страницы на страницу, если нет кнопки "Следующая страница". На сайте, который вы используете в видео, такой кнопки сейчас нет.
по идее можно реализовать через адрес страницы, как это делали в примере с топ 250 фильмами из кинопоиска. В видео при переходе на последующие страницы адресная строка не меняется. Сейчас же она уже изменяется.
registry?d-442831-p=1&agencyTypesDropDownValue
Так, например выглядит урл первой страницы
registry?d-442831-p=2&agencyTypesDropDownValue
А так 2ой. Мы можем через f строки подставить {p} вместо номера страницы во внешнем цикле и тогда номер страницы будет соответсововать значению P. Но я не пойму как это все сделать(
придумал в общем. вместо
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):
Старницы начинаю переключаться и до определенной страницы они делают это правильно, а потом начинается что-то непонятное.
@@Denmark1150 Спасибо, я тоже не разобрался как это сделать(. Кроме того, есть желание кликать на кнопку следующей страницы, чтобы имитировать поведение пользователя.
@@Denmark1150 Спасибо, этот вариант попробую.
@@Denmark1150 привет, вопрос хочу задать, вот у меня есть сайт с товарами который нужно спарсить, и у каждого товара есть своя страница, вот если мне нужны отдельные некоторые товары, то мне нужно копировать ссылку на товар и к ней писать код для сбора данных? и так для всех товаров которые я хочу спарсить, код же получится достаточно длинным. а также как мне нужен парсер который будет собирать данные 24/7 каждых 2-3 секунды, как это все организовать? если знаешь то отпиши пожалуйста!
Приятно и легко смотрится , но есть один интересный момент , как получить нужные нам информацию не запуская видимо браузер?
Почитайте про PhantomJS у Selenium, она как раз делает именно это.
ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
задать опции в коде? не?
А если нужно войти сначала на сайт по логину и паролю
То как мы должный действовать и какой код ?
Удобную кнопку, которая переносит нас на следующую страницу убрали. Как мы можем осуществить переход на следующую страницу с помощью селениума?
Пытался осуществить это с помощью xpatn последующей кнопки страницы (после копирования xpath я вижу, что там указывается номер последуюзей страницы и, по идее, мы могли бы просто указать вместо номера страницы наш {p} через f строки, но в этой строке xpath так же и указывается предыдущий и последующий номера страниц. Реализовать, к сожалению, не получилось)
Отбой, додумался через css селектор. Но этот подход работает только до того момента, как мы доходим до кнопки с многоточием. Нужно явно указывать номер страницы в URL адресе
Вот так вот работает уже до 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()
Супер! Спасибо, что поделились)
Даже обидно как сейчас все в легком доступе для каждого)
Можно как-то задать в коде ожидание окончания прогрузки страницы не через sleep? Ведь из-за плохого соединения страница может не успеть прогрузиться, а делать большие задержки слишком расточительно по времени
Можно попробовать timeout
10:45
13:10
14:30
15:10
15:35
17:40
19:20
У меня вопрос, а можно использовать selenium в тихом режиме, тоесть чтоб он не открывал браузер?
Где вы были раньше 😂
Прошел два ДПО и в каждом про Парсинг один беглый вебинар на супер простом сайте, а когда решил спарсить для выпускного проекта метрики с шазама…. Ну в общем для меня это оказалось болью)))
Что делать если сайт требует капчу при работе селениума?
Спасибо!
А текстовая версия урока будет доступна?
Обязательно. Но чуть-чуть попозже
ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА Добавили в описание!
@@istories_workshop Большое спасибо за напоминание🙂!
Годный контент, лайк.
Дальше 3-й минуты работа не идет. Получаю ошибку Message: unknown error: cannot find Chrome binary. Как устранить? За час активного гугления ошибку не удалось исправить
Спасибо, крутое видео 👍
Никогда бы не подумал, что селениум может пригодиться в журналистике...
Спасибі
Точку вместо пробела в названии класса ставишь и все норм ищет
А сколько Алеся питон изучает?Вот просто интересно
Алеся учила Python в магистратуре ВШЭ три модуля. А потом самообразование - читала, смотрела, гуглила.
ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
А вот я хочу сделать сканер онкологических диспансеров с интерфейсом для андроид. Какой драйвер мне использовать?
так это уже надо клиент-сервер делать. где селениум будет крутиться на сервере. а ведроид только получать результат
Ошибка на 17 строке "input_tab" is not defined
А где применение tqdm 😄
Круто, это даже удобнее чем bs4
Библиотека sleep )))
Друзья, мы в курсе, что вам нужно отчет подавать и что Роман приболел, но мы соскучилсь по продолжению и хорошим людям. Здоровья и выдержки!
Здравствуйте. Есть тег:
ByTag используй
симпотичная девочка)
А как же понять какая библиотека для сайта нужна?
у меня в настройках 106 версия и на сайте тоже есть 106... вот только какая моя, если у меня 7 windows
Это уроки на Python3?
Здравствуйте, да.
ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
возможно ли парсить в фоновом режиме?
Можно поверх окна открыть свой браузер и делать дела. А можно использовать PhontonJs, но не все сайты можно парсить через него.
ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
Добавляешь в опции параметр “headles” и работает в фоновом режиме. Синтаксис погугли сам, тут лень писать
@@КайлБатлер-ч1б привет, вопрос хочу задать, вот у меня есть сайт с товарами который нужно спарсить, и у каждого товара есть своя страница, вот если мне нужны отдельные некоторые товары, то мне нужно копировать ссылку на товар и к ней писать код для сбора данных? и так для всех товаров которые я хочу спарсить, код же получится достаточно длинным. а также как мне нужен парсер который будет собирать данные 24/7 каждых 2-3 секунды, как это все организовать? если знаешь то отпиши
@@f4ke543 привет. Дай сайт и тз попробую
хорошее видео
tqdm остался не у дел :)
Действительно! Забыли про него, но можете использовать его для циклов, чтобы увидеть прогресс-бар.
ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
@@istories_workshop спасибо! даже знать о нужной библиотеке уже полезно :)
спасибо, единственный ресурс, где я поняла наконец-то
Какой еще нахер "иностранный агент"?
А что это за чухня с иностранным агентом?
В конце цикл не до 10, а до 9 надо. Потому что нумерация начинается с 0
как легко деплоить селениум на сервере?
привет, вопрос хочу задать, вот у меня есть сайт с товарами который нужно спарсить, и у каждого товара есть своя страница, вот если мне нужны отдельные некоторые товары, то мне нужно копировать ссылку на товар и к ней писать код для сбора данных? и так для всех товаров которые я хочу спарсить, код же получится достаточно длинным. а также как мне нужен парсер который будет собирать данные 24/7 каждых 2-3 секунды, как это все организовать? если знаешь то отпиши
Выдает ошибку NameError: name 'Chrome' is not defined
Я не понял, зачем селениум в парсинге. Т.е. что может селениюм, чего бы нельзя было сделать с помощью реквестс? Если очень вдумчиво посидеть над разведкой, всегда можно организовать парсинг без селениума ИМХО. Селениум для тестинга, меня дико коробит, когда нет времени и я что то пилю на селениуме (естественно скрывая браузер), мне кажется, использование селениума в парсинге - это просто костыль для ленивых.
Селениум позволяет парсить, поэтому мы решили разобрать и эту библиотеку в рамках серии уроков про парсинг)) Возможно, кому-то понравится работать именно с ним. На вкус и цвет парсеры разные))
ДАННОЕ СООБЩЕНИЕ (МАТЕРИАЛ) СОЗДАНО И (ИЛИ) РАСПРОСТРАНЕНО ИНОСТРАННЫМ СРЕДСТВОМ МАССОВОЙ ИНФОРМАЦИИ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА, И (ИЛИ) РОССИЙСКИМ ЮРИДИЧЕСКИМ ЛИЦОМ, ВЫПОЛНЯЮЩИМ ФУНКЦИИ ИНОСТРАННОГО АГЕНТА
привет, вопрос хочу задать, вот у меня есть сайт с товарами который нужно спарсить, и у каждого товара есть своя страница, вот если мне нужны отдельные некоторые товары, то мне нужно копировать ссылку на товар и к ней писать код для сбора данных? и так для всех товаров которые я хочу спарсить, код же получится достаточно длинным. а также как мне нужен парсер который будет собирать данные 24/7 каждых 2-3 секунды, как это все организовать? если знаешь то отпиши
@@f4ke543
1. цикл в цикле
2. бот на халявном Heroku
@@uvencosuper3471 на счет хероку я понял, но можешь также просветить на счет еще одного, вот я пишу парсер который будет 24/7 парсить данные с динамического сайта и потом отправлять в тг бота написаного с помощью айограма , а он уже мне будет данные скидывать (в онлайн режиме, тоесть по мере поступление их на сайт, он сразу же будет мне данные скидывать) мне надо будет на хероку скрипт и парсера и бота загружать или только что то одно из этого?
И также на счет цикла в цикле, если честно даже малейшего понятие не вижу как это может выглядеть (пишу парсер только для себя впервые). Если я просто возьму урл всех страниц товаров которые мне нужны и с помощью риквеста get. буду каждый раз обращаться к новой ссылке, и после этого прописывать код чтобы с товаров парсились определенные значение, и так каждый раз, такая схема имеет место быть? или же так не получится вовсе/будет долго/не правильно и тд, просвети пожалуйста!
@@f4ke543 1. и парсера, и бота 2.внешний цикл парсит страницы сайта (пагинация), внутренний тут же на этой же итерации парсит "карточки" (карточка - блок нужных тебе данных) на этой странице. Это нормально. Долго, но нормально. Хочешь не долго - гугли асинхронный парсинг.