Тёмный

Парсинг на JAVASCRIPT за 10 мин! 

WEB РАЗРАБОТКА
Подписаться 3,3 тыс.
Просмотров 15 тыс.
50% 1

Парсинг на javascript ето просто за 10 мин. В етом ролике расскажу как легко парсить сайты с помощью node js puppeteer.
ССЫЛКИ НА УРОКИ ПО ПАРСИНГУ -
1) • Настраиваем окружение ...
2) • Учимся получать информ...
3) • Создаем парсер. База п...
0:00 - Почему парсинг будет всегда актуален?
0:37 - Почему парсинг ето простой навык?
1:00 - Идея парсера
1:11 - Настраиваем рабочую среду для node js puppeteer
2:30 - Учимся запускать node js. Команда node
3:23 - Учимся управлять браузером с помощью puppeteer
4:40 - Парсинг ето просто!
6:00 - Вытаскиваем данные с сайта
8:20 - Результат прасинга
#парсинг #javascript #nodejs #уроки

Опубликовано:

 

14 июн 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 93   
@Illya.Landar
@Illya.Landar Год назад
Сделал для себя в новом стиле ролик. Как вам?
@dentkachuk
@dentkachuk Год назад
красава
@Illya.Landar
@Illya.Landar Год назад
@@dentkachuk благодарю
@user-yk6kn1yi3l
@user-yk6kn1yi3l 10 месяцев назад
отлично
@jhgjhgjgjg
@jhgjhgjgjg 6 месяцев назад
Дружище, на чистом JS такое возможно ? Без библиотек сторонних
@Illya.Landar
@Illya.Landar 5 месяцев назад
@@jhgjhgjgjgможно, но зачем? Библиотеки же написаны на чистом js. Ты в итоге придешь к тому что бы создать свою библиотеку
@SIPIKEXE
@SIPIKEXE Год назад
жаль раньше не встречал тебя на просторах ютуба, лайк и подписка!
@Illya.Landar
@Illya.Landar Год назад
Обращайся)
@nero9227
@nero9227 Год назад
Извините. Вроде заполнил форму, нажал на кнопку, но ничего не происходит. Это так и должно быть, или проблема в форме?
@romanmegagunko4650
@romanmegagunko4650 11 месяцев назад
К сожалению форма на получение урока по парсингу не работает. Очень его хотелось бы получить
@kissis6291
@kissis6291 Год назад
Подскажите пожалуйста, а если нужно забрать с сайта не текст, а значение атрибута(если я правильно выражаюсь). К примеру: id = “1456788_2” tittle = “75ml” price = “240”. Нужно забрать 240(значение может меняться, это цена). Какую строчку в коде нужно изменить на что? Заранее большое спасибо, не могу найти ответ нигде, не сильна в js
@Illya.Landar
@Illya.Landar Год назад
получаешь не innerText а InnerHtml. Ты получаешь html в котором есть твои атрибуты. Остается их только достать
@raff_m_d6971
@raff_m_d6971 3 месяца назад
годно. продолжай
@reactnext13
@reactnext13 Год назад
Автору респект❤❤❤
@vvks9901
@vvks9901 6 месяцев назад
охрененно!
@Illya.Landar
@Illya.Landar 5 месяцев назад
Благодарю
@uaplatformacomua
@uaplatformacomua 7 месяцев назад
❤❤❤❤
@botsynth
@botsynth 4 месяца назад
Скажи пожалуйста, а если выпадающие списки листы содержат названия, то их так же можно спарсить?
@Illya.Landar
@Illya.Landar 4 месяца назад
Спарсить можно все
@user-ug6zg3xm4i
@user-ug6zg3xm4i 5 месяцев назад
Скажите пжлст - здесь , в этом видео вы показываете парсер работает в канале ютуб, а как создать что бы работал в телеграмм ? в веб версии ?
@Illya.Landar
@Illya.Landar 4 месяца назад
Это отдельный ролик нужно)
@user-yk6kn1yi3l
@user-yk6kn1yi3l 10 месяцев назад
нужно больше видео про парсинг
@Illya.Landar
@Illya.Landar 10 месяцев назад
У меня есть несколько на канале
@realeast_325
@realeast_325 6 месяцев назад
Здравствуй, отличное видео! А можешь пожалуйста еще объяснить, как вывести полученные данные в какой-нибудь файл, будь то excel документ, или в обычный текстовый документ?
@Illya.Landar
@Illya.Landar 5 месяцев назад
Есть в ноде команда fs.writeFileSync() по гугли и выведи данные в файл json через эту команду
@siu1941
@siu1941 10 месяцев назад
А если я использую антидетект браузер dolphin anty и у меня несколько прокси, как можно сделать так чтобы он открывал браузер с нужным прокси?
@Illya.Landar
@Illya.Landar 9 месяцев назад
Ну он открывает свой браузер, который похожь на chrome. В параметрах запуска скрипта можно установить под каким прокси ты заходишь
@user-ug6zg3xm4i
@user-ug6zg3xm4i 5 месяцев назад
Спсб. На вашем ,этом видео у меня получился мой первый парсер! Только вот форму не нахожу, где форма каторую заполнить ?
@Illya.Landar
@Illya.Landar 4 месяца назад
Супер, форма уже не работает. Ссылки на ролики в описании
@olegonkos
@olegonkos 3 месяца назад
если удалось спарсить два поля артикул и цена, то можно ли запихать новые данные в поле цена ? Конечно, доступ к учетке есть. Или это уже БД?
@Illya.Landar
@Illya.Landar 2 месяца назад
То как ты упорядовачиваешь данные зависит от тебя
@igrovojimpotent
@igrovojimpotent Год назад
Здравствуйте, а можно к этому парсеру прикрутить какой нибудь web интерейфейс?
@Illya.Landar
@Illya.Landar Год назад
Можно
@igrovojimpotent
@igrovojimpotent Год назад
@@Illya.Landar а можете подсказать как? Видео какое-нибудь или что загуглить, просто не могу найти
@Illya.Landar
@Illya.Landar Год назад
@@igrovojimpotent Делаешь из скрипта АПИ. А к Апи прикручиваешь веб сайт
@igrovojimpotent
@igrovojimpotent Год назад
@@Illya.Landar Спасибо большое!
@Illya.Landar
@Illya.Landar Год назад
@@igrovojimpotent пожалуйста
@enriquevalencia7415
@enriquevalencia7415 Год назад
Привет. В самом начале: const puppeteer = require("puppeteer"); пишет ошибку [ERR_PACKAGE_PATH_NOT_EXPORTED] и бла бла бла.. Это что то при установке puppeteer накосячилось? Ошибок не показывало при установке, что может быть?
@Illya.Landar
@Illya.Landar Год назад
Да проблема с установкой или с нодой
@enriquevalencia7415
@enriquevalencia7415 Год назад
@@Illya.Landar Вопрос закрыт. Проблема была с версиями. Теперь работает. Спасибо.
@Illya.Landar
@Illya.Landar Год назад
@@enriquevalencia7415 версиями ноды? Супер что получилось. Я тоже много времени убил что бы хотя бы одну строчку кода написать, куча багов и ошибок выдавало.
@enriquevalencia7415
@enriquevalencia7415 Год назад
@@Illya.Landar Да. Я сначала делал на старом компе, там вин7, по умолчанию ноде не ставится, надо искать более старую версию, я несколько вариантов устанавливал, всё было ок, но puppeteer не вызывался, ошибку давало [ERR_PACKAGE_PATH_NOT_EXPORTED] всё время. Затем попробовал на другом компе с вин10, всё ок, и для чистоты эксперимента на старом компе поменял систему на десятку, попробовал на нём и тоже всё ок.
@Illya.Landar
@Illya.Landar Год назад
@@enriquevalencia7415 огонь
@user-iw5rp4jt5n
@user-iw5rp4jt5n Год назад
Привет. А подскажи..что делать если перед тем как собирать данные нужно авторизоваться на сайте?
@Illya.Landar
@Illya.Landar Год назад
С помощью puppeteer можно авторизоваться а потом собрать данные. Или авторизоваться с помощью cookie
@back_to_life0
@back_to_life0 6 месяцев назад
​@@Illya.Landarили зайти под профилем браузера Который под капотом пупера Стоит хромиум как ток авторизоваться Данные идут в профиль браузера и не нужно никакие cookie сохранять и передавать
@kryakryautochka
@kryakryautochka Год назад
подскажи пожалуйста. если без vpn сайт не доступен то как мне инфу брать с него
@Illya.Landar
@Illya.Landar Год назад
Прикручиваешь VPN к парсеру. А точнее прокси той страны где можно зайти свободно на сайт
@seoonlyRU
@seoonlyRU Год назад
палец вверх от СЕООНЛИ
@SerjioSlap
@SerjioSlap 5 дней назад
Что-то звучит сомнительно... А кто даст доступ к исполнению подобных команд на компе, когда мой сайт с сервера захочет парсить данные, когда пользователь на него зайдёт? Наверняка же есть команда, позволяющая парсить данные по ссылке прямого назначения...
@user-jy8xx5ui6x
@user-jy8xx5ui6x Год назад
Можно вопрос почему при установке Puppeteer в консоли зависает установка
@Illya.Landar
@Illya.Landar Год назад
Кинь скрин мне в телеграм. Мой контакт в описании телеграм группы есть
@user-jy8xx5ui6x
@user-jy8xx5ui6x Год назад
@@Illya.Landar Я уже нашёл решение спасибо
@Illya.Landar
@Illya.Landar Год назад
@@user-jy8xx5ui6x Огонь
@Ivan-ee4pz
@Ivan-ee4pz Год назад
Дополню, тоже была проблема. Решается она или прописыванием puppeteer в package.json вручную или через yarn
@investsteel
@investsteel Год назад
Прикольно, а как сделать обход по страницам к примеру есть 10 страниц и надо все заголовки у них взять?
@Illya.Landar
@Illya.Landar Год назад
Есть разные способы. Кликать на пагинацию. Переходить в цикле по ссылке если ссылка в стиле url.com&page=1 url.com&page=2 url.com&page=3 Парсить следующую ссылку в пагинации и переходить по ней. Ето основные 3 способа
@investsteel
@investsteel Год назад
@@Illya.Landar а если нету пагинации? И только под ресурсы (site.ru/page/pag2)?
@Illya.Landar
@Illya.Landar Год назад
@@investsteel Ну переходи по ссылке просто вот так (site.ru/page/pag2) (site.ru/page/pag3) (site.ru/page/pag4)
@repeinik1400
@repeinik1400 11 месяцев назад
@@Illya.Landar А если просто в массив запихнуть все эти ссылки? Этот код спарсит их?
@Illya.Landar
@Illya.Landar 11 месяцев назад
@@repeinik1400 если сделаешь цикл то да
@zelear_music
@zelear_music 10 месяцев назад
А как сделать без открытия браузера? Допустим если у меня linux server
@Illya.Landar
@Illya.Landar 10 месяцев назад
headless: true
@back_to_life0
@back_to_life0 6 месяцев назад
Без открытия браузера ты не отрендеришь страницу сайта Headless тоже запускает браузер Но не как окно, а как процесс
@madarasan0
@madarasan0 Год назад
Довольно таки сложно, кто полностью не изучил JS, не поймет норм что происходит, нужны более детальные объяснения
@Illya.Landar
@Illya.Landar Год назад
За 10 мин детально все не расскажешь. Детальную информацию по созданию парсеров можно получить заполнив форму в описании.
@artmus9687
@artmus9687 10 месяцев назад
Так изучи JS
@kishiva4965
@kishiva4965 2 месяца назад
Поверхностное видео рассматривающее частный случай - у искомого элемента не всегда есть ID чаще всего искомые значения необходимо искать в class, и такой самый используемый метод в ролике не показан.
@Illya.Landar
@Illya.Landar 2 месяца назад
Потому что всего 10 минут. Все тонкости парсинга и за 10 часов не расскажешь
@mitcheldeZ
@mitcheldeZ Год назад
Failed to launch the browser process! undefined. Бла-бла. Failed to load Chrome Dll from бла бла
@andrewdemidyuk975
@andrewdemidyuk975 Год назад
Как парсить если сайт доступен только по VPN?
@Illya.Landar
@Illya.Landar Год назад
С помощью proxy. В puppeteer есть возможность использовать прокси.
@user-zi6in5by1p
@user-zi6in5by1p 9 месяцев назад
А переход по страницам ? )
@Illya.Landar
@Illya.Landar 9 месяцев назад
Ну смотря как пагинация устроена. Если по ссылками то по ссылкам можно переходить типа так url/1 url/2 и тд в цикле. Если кнопками то page.click('путь к кнопке') Если скролить надо то window.scrollBy(0,100)
@evgeniykolmak5459
@evgeniykolmak5459 Год назад
Смысл открывать браузер и делать скриншот, если тайтлы берутся из разметки.
@Illya.Landar
@Illya.Landar Год назад
Что бы показать человеку как работает технология puppeteer. Скриншот понятней чем сразу идти в разметку, html тэги и javascript. Ну в дальнейшем естественно показал как с разметки доставать данные.
@evgeniykolmak5459
@evgeniykolmak5459 Год назад
@@Illya.Landar мне кажется это больше запутать
@Lotpite
@Lotpite 8 месяцев назад
а можно запускать этот парсер на удаленном сервере ? Допстим через тг бот
@Illya.Landar
@Illya.Landar 8 месяцев назад
Да на удаленном сервере, можно и нужно. И потом отправлять данные которые спарсили отправлять в тг бот
@Lotpite
@Lotpite 8 месяцев назад
Огонь) попробовал твои штуки и заметил, что например гугл вообще в этом плане не френдли. Классы либо tailwind либо с названием рандомных букв. Как с таким обращаться?
@Illya.Landar
@Illya.Landar 8 месяцев назад
@@Lotpite да гугл не френдли. При помощи мета тэгов. там кнопка с классм странным может быть но с тэгом type='button' или у родителя такое может быть особенный читаемые статический мета тэг и от него пляшешь
@Lotpite
@Lotpite 8 месяцев назад
@@Illya.Landar спасибо, ты крут. Подписка колокольчик
@Illya.Landar
@Illya.Landar 8 месяцев назад
@@Lotpiteпожалуйста обращайся
@stylenova1
@stylenova1 3 месяца назад
Я один не вижу форму?
@LeonKniazev
@LeonKniazev 4 месяца назад
украл текст из превью у howdyho, молодец
@user-pd4nz9vk7u
@user-pd4nz9vk7u 2 месяца назад
Ну тут автор кодить умеет не то что хауди хо😅
@raff_m_d6971
@raff_m_d6971 3 месяца назад
[...document.querySelectorAll('#video-title')].map(elem => elem.innerText) вместо Array.from() как вариант
@olegonkos
@olegonkos 3 месяца назад
ну еще цикл for напиши... Работает и ладно
@raff_m_d6971
@raff_m_d6971 3 месяца назад
@@olegonkos а цикл причём ?
@olegonkos
@olegonkos 3 месяца назад
@@raff_m_d6971 а map() причем?
@Illya.Landar
@Illya.Landar 2 месяца назад
@@raff_m_d6971 типа неудобен твой способ.Но он имеет шанс на существование
Далее
FUN&SUN | Update 0.29.0 Trailer | Standoff 2
02:32
Просмотров 820 тыс.
React и Next js убивают фронтенд!
9:11
Пощупал эти ваши ОС
15:48
Просмотров 3,8 тыс.
Пишем парсер на JavaScript | QA
20:34
Просмотров 67 тыс.
Парсинг первые шаги | Puppeteer $eval
18:52