Просто топовейший видос. И отличный пример использования рекурсии :)
@kotikvacia99705 жыл бұрын
Спасибо вам за ваши курсы !
@windcrack8404 Жыл бұрын
Спасибо большое. Видео очень сильно помогло. Мой учитель по js опять выручил!
@sonopro99203 жыл бұрын
Как всегда магия)) магия с безграничными возможностями!!!👏
@Интернетобразование-о1и3 жыл бұрын
Офигенное объяснение!!!
@placid34955 жыл бұрын
А я думал парсеры сложно)
@Maxim95759 ай бұрын
потому что это не парсер, а обход DOM дерева, ничего общего с настоящими парсерами тут нет
@DenisK-to8lf3 ай бұрын
@@Maxim9575 А как по Вашему можно спарсить данные с сайта?
@Maxim95753 ай бұрын
@@DenisK-to8lf разберитесь с определением что такое парсер. Ну а так парсинг подразумевает получение исходного кода и затем его анализ, который приведет к конкретному результату. Браузер по вашему как вам отображает страницу? Правильно, использовав DOM-дерево для визуализации содержимого. А перед этим он получает исходный код страницы, а затем производит разбор в 2 этапа: лексический анализ исходного текста, а затем синтаксический анализ. И результатом этих двух этапов будет DOM-дерево.
@АдильМиерманов Жыл бұрын
это идеальный урок, спасибо огромное
@gennadyga22574 жыл бұрын
Иван спасибо за объяснение! учусь на твоем курсе.
@denisbielishev4 жыл бұрын
Интересно было бы увидеть как реальный парсер сделать, со вложенными страницами по типу интернет магазина
@SerhiyLytvynenko2 жыл бұрын
В чем проблема? Когда парсишь все данные , находишь нужную ссылку, отправляешь get-запрос по этому адресу и парсишь уже эти данные
@ivanrussui41263 жыл бұрын
Крутяк Иван, было полезно. Благодарю.
@yarlykanov5 ай бұрын
Отличный урок! Спасибо. Покажите, пжлста, как парсить сообщения, которые пришли на емайл от определённого отправителя?
@Vitaliy-1C4 жыл бұрын
Очень грамотно объяснил! Спасибо.
@drotikdrotik59414 жыл бұрын
Лучший преподаватель, учусь у него на Юдеми отличный курс по Джаваскрипту! Всем его рекомендую)
@coldym4 жыл бұрын
Как прогресс? Нашел работу?
@userman61932 жыл бұрын
Good! Thanks!)
@nshebeko5 жыл бұрын
Спасибо Иван, круто было бы если это показать на реальных проектах, в практическом применении, например берём готовый парсер и разбираем как он работает. Хочется понимать зачем это мы всё делаем, то бишь мотивы. Понятно что заголовки кому то нужно спарсить, но кому? и где?
@campfireschool5 жыл бұрын
Окей. Приведу реальный кейс пока на словах) У нас была задача с одного большого веб-ресурса вытащить всю информацию о компаниях, которые на нем размещены. Страниц и компаний было очень много, с каждой вручную вытаскивать название, логотип, контактные данные и прочее очень долго, муторно и бесполезно :) Вот для такой задачи мы и использовали парсер, по структуре чуть сложнее, тк затрагивалась серверная часть.
@campfireschool5 жыл бұрын
@@FaineLito1055 Практически невозможно) Все что попадает в браузер можно вытащить)
@campfireschool5 жыл бұрын
@@FaineLito1055 Главное, чтобы конечному пользователю это не навредило)) А так самое противное - это изображения. Из них текст не вытащить, увы)
@aximas7784 жыл бұрын
Парсер отличный, но вот только я пытался его попробовать как вы на хабре консоль выдала undefined Пересмотрел код везде всё ок на локалке работает а в других местах получаю undefined
@AlexM-ox7io4 ай бұрын
Не проще ли на ноде библиотекой Puppeteer собрать все что тебе нужно указывая классы?))
@wickedtorpedo754 жыл бұрын
30 строк самого гениального кода, спасибо за урок
@kharkiv_inres51274 жыл бұрын
Значет хорошо разобратся и можно брать заказы на парсер страници!
@СергейЛогинов-у4ъ6к2 ай бұрын
А можно ли как-то парсить данные сайта, не открывая его страницу на стороне клиента, но при этом отфильтрованный результат парсинга возвращать клиенту?
@oleksiimarchenko21774 жыл бұрын
Спасибо большое за Ваши курсы, очень доходчиво! Советую всем своим друзьям которые хотят войти в ІТ))
@MrDmi3i2 жыл бұрын
есть сайт со спортивными играми... там периодически появляются игры на которые я бы хотел попасть как участник, но постоянно не успеваю попасть в лимит игроков (например - ближайшая игра баскетбол, уровень новичок... ). Как реализовать механизм чтобы мне например в телегу приходило оповещение что на сайте появилась дата игры для регистрации?
@web-bp6lj2 жыл бұрын
Друзья, пожалуйста, объясните: для чего нужен локальный сервер в работе парсера? Какова его роль? Благодарю.
@stasonnl7774 жыл бұрын
Здравствуйте. А как парсить с другого сайта? Например я хочу спасрсить с другого сайта заголовки и разместить их на своем сайте.
@sergey58064 жыл бұрын
Разобрался как это сделать?
@Moskalineludy3 жыл бұрын
fetch
@PavelPavel-vh3fs4 жыл бұрын
Спасибо за крутой и понятный урок
@sergeishmelev80002 жыл бұрын
А можно создать подобный парсер для соц сетей, чтобы вытаскивал количество постов, подписчиков и просмотров и лайков?
@СергейКомыза4 жыл бұрын
Спасибо за труд! А есть у вас курс по углубленному изучению парсинга на js? Забирать инфу с нужных сайтов и т.д?
@campfireschool4 жыл бұрын
Увы, но пока нет :(
@igorstarodubtsev80373 жыл бұрын
Не могли бы видосик запилить как спарсить с сайтов ссылки на фильмы, постеры, названия фильмов для создания плейлистов
@АлександрАлександр-х6б3ы3 жыл бұрын
Добрый день! попробовал использовать данный парсер не на локальном сервере, а через tamper monkey. вот только слушалка DOMContentLoaded не работает, а работает window.addEventListener('load', () => {});
@ВячеславИванов-д1р Жыл бұрын
Можно ли разместить скрипт на Firebase? Есть необходимость получать обновления определенной страницы в телеграм на телефоне. То есть чтобы получать обновления без открытого браузера и даже отключенного компьютера. Делать запросы периодически и проверять не появился ли новый пост. Если появился каким то образом отправлять этот пост сообщением в телеграм. Есть у кого-то идеи насчет этого?
@zachfenton6083 жыл бұрын
Спасибо большое
@Каналдлясаморазвития-я1я4 жыл бұрын
Вместо сервера можно использовать node js и express
@CalmDepth3 жыл бұрын
интересно. правильно я понимаю,что такой конструкцией shadow-dom не выпотрошить?
@L0w1y3 жыл бұрын
А как сделать так, чтобы он брал данные с внешней страницы. Например я хочу сделать чтобы релизы гитхаба подгружал и показывал когда я открываю Index.html
@ashercon13375 жыл бұрын
Сейчас прохожу ваш курс по js на udemy, хотел сказать спасибо за доходчивое объяснение тем. Вопрос по видео (ещё не посмотрел до конца) мы сможем парсить только страницу, к которой мы подключили наш js скрипт ? то есть мы не сможем дать парсеру url другого сайта и ждать от него данных?
@campfireschool5 жыл бұрын
Спасибо) Как я и говорил ближе к концу ролика - да, этот простенький скрипт будет работать только на одной странице. Для более сложного взаимодействия нам уже понадобится серверная часть. В любом случае - смысл особо не изменится)
@ashercon13375 жыл бұрын
Ivan Petrychenko получается для создания парсера других сайтов нужно использовать node js ? Знаете ли вы node, будет ли курс по нему ?
@campfireschool5 жыл бұрын
Ilya Tyurin да, в следующем году планирую записать)
@ДаниилЕлин-ж1п4 жыл бұрын
@@campfireschool Спасибо за курс по js)
@hopmnc5 жыл бұрын
гуд джоб, спасибо.
@aleksandrstaetskiy56875 жыл бұрын
Канал просто кладезь годноты :)
@campfireschool5 жыл бұрын
Спасибо)
@sergey58064 жыл бұрын
Круто как всегда)) Интересно было бы посмотреть на реализацию nodejs приложения)) Ты так круто поясняешь, что кажется все настолько простым.
@campfireschool4 жыл бұрын
Спасибо)
@dmitriystoyanov9334 жыл бұрын
да, парень реально профессионал. Печально, что нам всем кажется простым когда смотрим, а сесть и самим с нуля написать - начинается просто обсиралово и ни строчки из себя выдавить не получается))
@dimualdos3 жыл бұрын
Хочется узнать про создание бота в телеграм
@ondrui3 жыл бұрын
Иван, спасибо за ролик, очень интересная тема была. Я попробовал этот скрипт на странице из курса вашего " Полный курс по JavaScript + React - с нуля до результата " FOOD - там мы динамически на страницу часть контента добавляем (меню, например) - и эту часть парсер не видит! Не подскажите, как обойти эту проблему? Я добавил скрипт в метод then и получил данные из меню, но если доступа нет к коду страницы как быть?
@oldzas3 жыл бұрын
Мне не хватило хождение по пагинатору и открывание страниц и только потом парсинг
@vadicus65343 жыл бұрын
Я тоже об этом думаю. как пройти весь сайт если мы парсим только на одной странице.
@JuliaDemchenko-c3q3 жыл бұрын
Здравствуйте! А можно показать на примере Инстаграм. Допустим есть страници профилей и с них нужно получить информацию ( количество подписчиков, подписок и публикаций) с сохранением этих данных в Excel? Возможно ли так сделать, буду очень благодарна 😊
@Freedom_Code4 жыл бұрын
Иван, знаю , что не по теме вопрос,, здравствуйте, подскажите пожалуйста , каким образом можно в react.native парсить файлы .txt и возможно ли это. Единственное, что пришло на ум -- это подключать библиотеку fs из node.js , но оправдано ли это?
@EvgenichTalagaev2 жыл бұрын
Вот бы пример с парсингом реального сайта в сети.
@ЯрославВлас-б6т Жыл бұрын
У меня вопрос. А как подключить данный скрипт на другие сайты автоматически?
@nikolaydemchenko67414 жыл бұрын
Видео понравилось, только не могу понять момент с рекурсией в начале, почему в условии проверяется количество потомков входящего элемента, а не его потомка? Ведь по факту в боди в любом случае потомков больше одного, значит функция будет запускаться для каждого, даже если у него нет своих потомков, и не получится ли так, что на том у кого 1 потомок, рекурсия не будет запущена, хотя у самого потомка будет много своих потомков? Не правильнее ли просто проверять if(node.childNodes){} ? Или там какая-то другая логика? Кодю недавно, может чего не знаю, объясните пожалуйста добрые люди)
@ЭзизК4 жыл бұрын
Круто✊
@dmitriy25022 жыл бұрын
Здравствуйте! Спасибо за урок! Подскажите, а если результат ни отправлять на сервер а просто писать в текстовый файл на компьютер? Как это реализовать? Спасибо!
@sergey96272 жыл бұрын
Тоже есть задача, собирать информацию в excel файл, вам удалось найти ответ ?
@dmitriy25022 жыл бұрын
@@sergey9627 Пока оставили реализацию, решение ни нашли. Но по похожей тематике были ролики внутри которых есть реализация, но вот к сожалению прошло более 3 мес, ни помню где было.
@itconstructor15704 жыл бұрын
Добрый день, а как курсы валют с сайта автоматически парусить.? Всегда ведь в консоль лесть со своим кодом не будешь
@campfireschool4 жыл бұрын
Обычно курсы валют отдаются по открытому API . Например minfin.com.ua/developers/api/
@vadicus65343 жыл бұрын
@@campfireschool так платить надо, а можно просто парсить?)))
@ИгорьКиселев-ч7ь4 жыл бұрын
Ппивет Ivan ! В JavaScript я еще только начинаю учиться. Из твоего объяснения все понятно кроме того, что такое ноды . Может я чего то не понимаю? Объясни пожалуйста откуда они берутся! Спасибо
@campfireschool4 жыл бұрын
Игорь Киселев это DOM-узлы на странице) не элементы, а именно узлы. Кроме элементов сюда входят переносы строк, изображения и тд.
@ИгорьКиселев-ч7ь4 жыл бұрын
@@campfireschool скажи пожалуйста где я могу почитать про ноды вводное.
@campfireschool4 жыл бұрын
@@ИгорьКиселев-ч7ь learn.javascript.ru/dom-nodes Например, вот здесь.
@ruslan26764 жыл бұрын
Как сделать так, чтобы скрипт стягивал инфу, например, с альбома Вконтакте (описания под фото)? И при этом не нужно было каждый раз заходить ручками это в консоль писать? В идеале сделать так, чтобы конфигурация выглядела таким образом: 1. Вставил ссылку. 2. Прописал какие ноды цеплять. А дальше отправить себе на сайт в таблицу. Так же интересует как это настроить чтобы обновлялось хотя-бы раз в сутки или по нажатию Хочу научится это делать, куда копать?)
@campfireschool4 жыл бұрын
Ruslan Anisimov добрый день. Все это делается уже с помощью бэк-технологий. Нужен сервер и соответствующие скрипты, написанные на node.js, php, ...
@AliaksandrHrankin4 жыл бұрын
Спасибо за урок. А если я хочу, чтобы мне куда-то сохранялись результаты парсинга?
@campfireschool4 жыл бұрын
Вы можете отправлять результаты на свой VPS сервер и там их сохранять в любом удобном формате. Т.е. php/node.js/... будут записывать результат в json, txt... если говорить просто)
@AliaksandrHrankin4 жыл бұрын
@@campfireschool это понятно. щас вот гуглю, как принимать его и обрабатывать в файле php. Думаю, как преобразовать это в csv
@AliaksandrHrankin4 жыл бұрын
@@campfireschool что-то никак не могу справиться с CORS. Написал простой парсер и простой php. На локальном сервере локальный же сайт парсит нормально и сохраняет json файл. Положил php файл на хостинг. Со своего сайта сохраняет файл, а с других не хочет. Не пойму, что и как настроить. Все, что нагуглил, не могу разобраться
@pashoki68803 жыл бұрын
А вообще есть разница на каком языке писать парсер, многие пишут его на питоне ?
@campfireschool3 жыл бұрын
Да, будет зависеть его «мощность» и среда работы. Поэтому python по этим параметрам подходит очень хорошо
@pashoki68803 жыл бұрын
@@campfireschool подскажите, а сильно ли js в этом плане уступает ?
@campfireschool3 жыл бұрын
@@pashoki6880 если использовать node.js - то нет
@pashoki68803 жыл бұрын
@@campfireschool Подскажите, а как реализовать возможность автоматического парсера, когда не нужно заходить и вставлять в консоль скрипт, чтобы отслеживать динамически изменяющуюся информацию на странице автоматически
@zizzxiii27143 жыл бұрын
выводит только {id: 101} и все
@muborizDev4 жыл бұрын
спасибо
@paljm3453 жыл бұрын
Блин, а вот как дальше работать с полученной информацией?? Она выводится только в консоль.лог. Как мне закинуть ее в переменную и дальше обрабатывать??
@vitaliylufter87653 жыл бұрын
Ну как бы парсер, но как бы и не совсем, какой-то детский. Вопрос: зачем нам парсить свой хтмл? А как получить сторонний хтмл? Как ходить по страницам сайта который парсим? Как обойти блокировки и защиту от неделательной активности? Как парсить не на своём компе а в режиме online, на сервере? Как подключить прокси, как косить под реального пользователя(это к вопросу про обход защиты)? Как капчу разгадывать автоматически? Парсер это сложная система, а не вот это вот.
@campfireschool3 жыл бұрын
Именно поэтому я и проговорил в начале, что это довольно плюшевый парсер, который сделан по просьбам студентов на чистом js :)
@namirGO3 жыл бұрын
Дякую
@ticheroi4 жыл бұрын
recursy что такое?)) recursion мб?)
@supfiger3 жыл бұрын
я один подумал, что видео началось в скорости 1.5x? :))
@MrLuckfinder3 жыл бұрын
Прохожу сейчас его курсы на юдеми. Единственные курсы, которые приходится смотреть на 0,75 скорости. И то, не всегда успеваю.
@bdg52425 жыл бұрын
Парсер по моему сайту работает, но вот когда решил также попробовать на хабре как ты в видосе. Получается ошибка: Uncaught SyntaxError: Identifier 'body' has already been declared at :1:1
@bdg52425 жыл бұрын
как я понял видать какие то сайты блокируют это, а какие то нет. На вк вот работает
@alexg14314 жыл бұрын
Просто переименуй const body например в const body12123 и всё. Тебе ошибка говорит что такая константа уже есть.
@Alex-yh7pr4 жыл бұрын
18:15 6 объектов
@o_opedro40443 жыл бұрын
👌 -👍 ...
@forgiveness_denied5 жыл бұрын
шось може по бек енду
@АлександрФедченко-л6ю5 жыл бұрын
Python server
@stylizestylish9733 жыл бұрын
6:30
@РамизМирзаев-х5к5 жыл бұрын
🤓
@vladpronin50334 жыл бұрын
Пожалуйста, перестань коверкать английские слова на свой лад, произношение у тебя не самое лучшее. Звучит отвратительно, после пяти минут просто замутил. Поработай над собой, мб подписчиков прибавится
@ashur1k2 жыл бұрын
xpath для слабаков! Только цикл по всем узлам! Только хардкор! 1) Открываем "DevTools" 2) Переходим на вкладку "Console" 3) Выполняем в консоли следующее выражение: $x('//h1 | //h2 | //h3 | //h4 | //h5') 4) ПРОФИТ