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

แชร์
ฝัง
  • เผยแพร่เมื่อ 8 ก.พ. 2025

ความคิดเห็น • 101

  • @Illya.Landar
    @Illya.Landar  2 ปีที่แล้ว +8

    Сделал для себя в новом стиле ролик. Как вам?

    • @админскийБубен
      @админскийБубен ปีที่แล้ว +1

      красава

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว

      @@админскийБубен благодарю

    • @АртёмТриколич
      @АртёмТриколич ปีที่แล้ว

      отлично

    • @palgebo
      @palgebo ปีที่แล้ว +1

      Дружище, на чистом JS такое возможно ? Без библиотек сторонних

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว

      @@palgeboможно, но зачем? Библиотеки же написаны на чистом js. Ты в итоге придешь к тому что бы создать свою библиотеку

  • @raff_m_d6971
    @raff_m_d6971 11 หลายเดือนก่อน +1

    годно. продолжай

  • @vvks9901
    @vvks9901 ปีที่แล้ว +1

    охрененно!

  • @ЭТОЯ-я1ц
    @ЭТОЯ-я1ц 5 หลายเดือนก่อน +1

    Спасибо что помог, лайк + подписка)

  • @uaplatformacomua
    @uaplatformacomua ปีที่แล้ว +1

    ❤❤❤❤

  • @SIPIKEXE
    @SIPIKEXE ปีที่แล้ว +3

    жаль раньше не встречал тебя на просторах ютуба, лайк и подписка!

  • @АртёмТриколич
    @АртёмТриколич ปีที่แล้ว +3

    нужно больше видео про парсинг

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว

      У меня есть несколько на канале

  • @ДЕД-11
    @ДЕД-11 2 ปีที่แล้ว +3

    Можно вопрос почему при установке Puppeteer в консоли зависает установка

    • @Illya.Landar
      @Illya.Landar  2 ปีที่แล้ว

      Кинь скрин мне в телеграм. Мой контакт в описании телеграм группы есть

    • @ДЕД-11
      @ДЕД-11 2 ปีที่แล้ว +1

      @@Illya.Landar Я уже нашёл решение спасибо

    • @Illya.Landar
      @Illya.Landar  2 ปีที่แล้ว

      @@ДЕД-11 Огонь

    • @Ivan-ee4pz
      @Ivan-ee4pz 2 ปีที่แล้ว +1

      Дополню, тоже была проблема. Решается она или прописыванием puppeteer в package.json вручную или через yarn

  • @kishiva4965
    @kishiva4965 10 หลายเดือนก่อน +1

    Поверхностное видео рассматривающее частный случай - у искомого элемента не всегда есть ID чаще всего искомые значения необходимо искать в class, и такой самый используемый метод в ролике не показан.

    • @Illya.Landar
      @Illya.Landar  10 หลายเดือนก่อน

      Потому что всего 10 минут. Все тонкости парсинга и за 10 часов не расскажешь

    • @Limitation-cake
      @Limitation-cake 5 หลายเดือนก่อน

      Поставь вместо решетки точку

  • @ВладимирЛуговой-ь4т
    @ВладимирЛуговой-ь4т ปีที่แล้ว +1

    Спсб. На вашем ,этом видео у меня получился мой первый парсер! Только вот форму не нахожу, где форма каторую заполнить ?

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว

      Супер, форма уже не работает. Ссылки на ролики в описании

  • @realeast_325
    @realeast_325 ปีที่แล้ว +1

    Здравствуй, отличное видео! А можешь пожалуйста еще объяснить, как вывести полученные данные в какой-нибудь файл, будь то excel документ, или в обычный текстовый документ?

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว +1

      Есть в ноде команда fs.writeFileSync() по гугли и выведи данные в файл json через эту команду

  • @catalincuruliuc9349
    @catalincuruliuc9349 2 หลายเดือนก่อน +1

    а как парси страницу с javascript если она бесконечная ,типа надо прокручивать вниз ,ну ана очень большая

    • @Illya.Landar
      @Illya.Landar  2 หลายเดือนก่อน +1

      Прокручивать страницу, ждать пока она подгрузиться, потом парсить данные.

    • @catalincuruliuc9349
      @catalincuruliuc9349 หลายเดือนก่อน

      ну я прокручиваю страницу на 10% и у меня оперативка 16gb наполнятся 😅ии грузит пк 😢

    • @Illya.Landar
      @Illya.Landar  หลายเดือนก่อน +1

      @@catalincuruliuc9349 такое может быть если ты парсишь медиа контент, если текст, то 16 гб вполне хватит

  • @botsynth
    @botsynth ปีที่แล้ว +1

    Скажи пожалуйста, а если выпадающие списки листы содержат названия, то их так же можно спарсить?

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว +1

      Спарсить можно все

  • @zelear_music
    @zelear_music ปีที่แล้ว +2

    А как сделать без открытия браузера? Допустим если у меня linux server

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว

      headless: true

    • @everything_is_simple8
      @everything_is_simple8 ปีที่แล้ว

      Без открытия браузера ты не отрендеришь страницу сайта
      Headless тоже запускает браузер
      Но не как окно, а как процесс

  • @madarasan0
    @madarasan0 2 ปีที่แล้ว +5

    Довольно таки сложно, кто полностью не изучил JS, не поймет норм что происходит, нужны более детальные объяснения

    • @Illya.Landar
      @Illya.Landar  2 ปีที่แล้ว +3

      За 10 мин детально все не расскажешь. Детальную информацию по созданию парсеров можно получить заполнив форму в описании.

    • @artmus9687
      @artmus9687 ปีที่แล้ว +1

      Так изучи JS

  • @ВладимирЛуговой-ь4т
    @ВладимирЛуговой-ь4т ปีที่แล้ว

    Скажите пжлст - здесь , в этом видео вы показываете парсер работает в канале ютуб, а как создать что бы работал в телеграмм ? в веб версии ?

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว +1

      Это отдельный ролик нужно)

  • @mitcheldeZ
    @mitcheldeZ ปีที่แล้ว

    Failed to launch the browser process! undefined. Бла-бла. Failed to load Chrome Dll from бла бла

  • @siu1941
    @siu1941 ปีที่แล้ว +1

    А если я использую антидетект браузер dolphin anty и у меня несколько прокси, как можно сделать так чтобы он открывал браузер с нужным прокси?

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว

      Ну он открывает свой браузер, который похожь на chrome. В параметрах запуска скрипта можно установить под каким прокси ты заходишь

  • @igrovojimpotent
    @igrovojimpotent 2 ปีที่แล้ว +1

    Здравствуйте, а можно к этому парсеру прикрутить какой нибудь web интерейфейс?

    • @Illya.Landar
      @Illya.Landar  2 ปีที่แล้ว

      Можно

    • @igrovojimpotent
      @igrovojimpotent 2 ปีที่แล้ว +1

      @@Illya.Landar а можете подсказать как? Видео какое-нибудь или что загуглить, просто не могу найти

    • @Illya.Landar
      @Illya.Landar  2 ปีที่แล้ว

      @@igrovojimpotent Делаешь из скрипта АПИ. А к Апи прикручиваешь веб сайт

    • @igrovojimpotent
      @igrovojimpotent 2 ปีที่แล้ว +1

      @@Illya.Landar Спасибо большое!

    • @Illya.Landar
      @Illya.Landar  2 ปีที่แล้ว

      @@igrovojimpotent пожалуйста

  • @SerjioSlap
    @SerjioSlap 8 หลายเดือนก่อน

    Что-то звучит сомнительно... А кто даст доступ к исполнению подобных команд на компе, когда мой сайт с сервера захочет парсить данные, когда пользователь на него зайдёт?
    Наверняка же есть команда, позволяющая парсить данные по ссылке прямого назначения...

    • @dimonskiy022
      @dimonskiy022 5 หลายเดือนก่อน

      По сути любой арендованный сервак в этом сможет помочь. Просто там будет исполняться код
      А твой сайт через апи обращается к серверу, и все

  • @olegonkos
    @olegonkos 11 หลายเดือนก่อน

    если удалось спарсить два поля артикул и цена, то можно ли запихать новые данные в поле цена ? Конечно, доступ к учетке есть. Или это уже БД?

    • @Illya.Landar
      @Illya.Landar  10 หลายเดือนก่อน

      То как ты упорядовачиваешь данные зависит от тебя

  • @nero9227
    @nero9227 ปีที่แล้ว

    Извините. Вроде заполнил форму, нажал на кнопку, но ничего не происходит. Это так и должно быть, или проблема в форме?

  • @kryakryautochka
    @kryakryautochka ปีที่แล้ว +1

    подскажи пожалуйста. если без vpn сайт не доступен то как мне инфу брать с него

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว

      Прикручиваешь VPN к парсеру. А точнее прокси той страны где можно зайти свободно на сайт

  • @romanmegagunko4650
    @romanmegagunko4650 ปีที่แล้ว +1

    К сожалению форма на получение урока по парсингу не работает. Очень его хотелось бы получить

    • @scriptik7204
      @scriptik7204 7 หลายเดือนก่อน

      проверьте, мб забыли () в самом конце

  • @enriquevalencia7415
    @enriquevalencia7415 ปีที่แล้ว +1

    Привет. В самом начале: const puppeteer = require("puppeteer"); пишет ошибку [ERR_PACKAGE_PATH_NOT_EXPORTED] и бла бла бла.. Это что то при установке puppeteer накосячилось? Ошибок не показывало при установке, что может быть?

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว

      Да проблема с установкой или с нодой

    • @enriquevalencia7415
      @enriquevalencia7415 ปีที่แล้ว +1

      @@Illya.Landar Вопрос закрыт. Проблема была с версиями. Теперь работает. Спасибо.

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว

      @@enriquevalencia7415 версиями ноды? Супер что получилось. Я тоже много времени убил что бы хотя бы одну строчку кода написать, куча багов и ошибок выдавало.

    • @enriquevalencia7415
      @enriquevalencia7415 ปีที่แล้ว +1

      @@Illya.Landar Да. Я сначала делал на старом компе, там вин7, по умолчанию ноде не ставится, надо искать более старую версию, я несколько вариантов устанавливал, всё было ок, но puppeteer не вызывался, ошибку давало [ERR_PACKAGE_PATH_NOT_EXPORTED] всё время. Затем попробовал на другом компе с вин10, всё ок, и для чистоты эксперимента на старом компе поменял систему на десятку, попробовал на нём и тоже всё ок.

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว

      @@enriquevalencia7415 огонь

  • @DmitryBelkin-u1b
    @DmitryBelkin-u1b ปีที่แล้ว +1

    Привет. А подскажи..что делать если перед тем как собирать данные нужно авторизоваться на сайте?

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว

      С помощью puppeteer можно авторизоваться а потом собрать данные. Или авторизоваться с помощью cookie

    • @everything_is_simple8
      @everything_is_simple8 ปีที่แล้ว

      ​@@Illya.Landarили зайти под профилем браузера
      Который под капотом пупера
      Стоит хромиум как ток авторизоваться
      Данные идут в профиль браузера и не нужно никакие cookie сохранять и передавать

  • @kissis6291
    @kissis6291 2 ปีที่แล้ว +1

    Подскажите пожалуйста, а если нужно забрать с сайта не текст, а значение атрибута(если я правильно выражаюсь). К примеру: id = “1456788_2” tittle = “75ml” price = “240”. Нужно забрать 240(значение может меняться, это цена). Какую строчку в коде нужно изменить на что? Заранее большое спасибо, не могу найти ответ нигде, не сильна в js

    • @Illya.Landar
      @Illya.Landar  2 ปีที่แล้ว

      получаешь не innerText а InnerHtml. Ты получаешь html в котором есть твои атрибуты. Остается их только достать

  • @fishingscript
    @fishingscript ปีที่แล้ว +1

    Прикольно, а как сделать обход по страницам к примеру есть 10 страниц и надо все заголовки у них взять?

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว +1

      Есть разные способы.
      Кликать на пагинацию.
      Переходить в цикле по ссылке если ссылка в стиле url.com&page=1
      url.com&page=2
      url.com&page=3
      Парсить следующую ссылку в пагинации и переходить по ней.
      Ето основные 3 способа

    • @fishingscript
      @fishingscript ปีที่แล้ว

      @@Illya.Landar а если нету пагинации? И только под ресурсы (site.ru/page/pag2)?

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว

      @@fishingscript
      Ну переходи по ссылке просто вот так
      (site.ru/page/pag2)
      (site.ru/page/pag3)
      (site.ru/page/pag4)

    • @YOZHIK_YT
      @YOZHIK_YT ปีที่แล้ว +1

      @@Illya.Landar А если просто в массив запихнуть все эти ссылки? Этот код спарсит их?

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว

      @@YOZHIK_YT если сделаешь цикл то да

  • @jafarkhonmuhsinov5391
    @jafarkhonmuhsinov5391 หลายเดือนก่อน

    Можешь заново скинуть ссылку на форму

  • @seoonlyRU
    @seoonlyRU 2 ปีที่แล้ว

    палец вверх от СЕООНЛИ

  • @andrewdemidyuk975
    @andrewdemidyuk975 ปีที่แล้ว +1

    Как парсить если сайт доступен только по VPN?

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว

      С помощью proxy. В puppeteer есть возможность использовать прокси.

  • @evgeniykolmak5459
    @evgeniykolmak5459 2 ปีที่แล้ว +1

    Смысл открывать браузер и делать скриншот, если тайтлы берутся из разметки.

    • @Illya.Landar
      @Illya.Landar  2 ปีที่แล้ว +3

      Что бы показать человеку как работает технология puppeteer. Скриншот понятней чем сразу идти в разметку, html тэги и javascript.
      Ну в дальнейшем естественно показал как с разметки доставать данные.

    • @evgeniykolmak5459
      @evgeniykolmak5459 2 ปีที่แล้ว

      @@Illya.Landar мне кажется это больше запутать

  • @Lotpite
    @Lotpite ปีที่แล้ว +1

    а можно запускать этот парсер на удаленном сервере ? Допстим через тг бот

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว +1

      Да на удаленном сервере, можно и нужно. И потом отправлять данные которые спарсили отправлять в тг бот

    • @Lotpite
      @Lotpite ปีที่แล้ว +1

      Огонь) попробовал твои штуки и заметил, что например гугл вообще в этом плане не френдли. Классы либо tailwind либо с названием рандомных букв. Как с таким обращаться?

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว +1

      @@Lotpite да гугл не френдли. При помощи мета тэгов. там кнопка с классм странным может быть но с тэгом type='button' или у родителя такое может быть особенный читаемые статический мета тэг и от него пляшешь

    • @Lotpite
      @Lotpite ปีที่แล้ว +1

      @@Illya.Landar спасибо, ты крут. Подписка колокольчик

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว

      @@Lotpiteпожалуйста обращайся

  • @DmitriiBobrikov
    @DmitriiBobrikov ปีที่แล้ว +1

    А переход по страницам ? )

    • @Illya.Landar
      @Illya.Landar  ปีที่แล้ว +1

      Ну смотря как пагинация устроена. Если по ссылками то по ссылкам можно переходить
      типа так
      url/1
      url/2
      и тд в цикле.
      Если кнопками то page.click('путь к кнопке')
      Если скролить надо то window.scrollBy(0,100)

  • @stylenova1
    @stylenova1 11 หลายเดือนก่อน

    Я один не вижу форму?

  • @LeonKniazev
    @LeonKniazev ปีที่แล้ว

    украл текст из превью у howdyho, молодец

    • @MyWhst
      @MyWhst 10 หลายเดือนก่อน

      Ну тут автор кодить умеет не то что хауди хо😅

  • @raff_m_d6971
    @raff_m_d6971 11 หลายเดือนก่อน

    [...document.querySelectorAll('#video-title')].map(elem => elem.innerText) вместо Array.from() как вариант

    • @olegonkos
      @olegonkos 11 หลายเดือนก่อน

      ну еще цикл for напиши... Работает и ладно

    • @raff_m_d6971
      @raff_m_d6971 10 หลายเดือนก่อน

      @@olegonkos а цикл причём ?

    • @olegonkos
      @olegonkos 10 หลายเดือนก่อน

      @@raff_m_d6971 а map() причем?

    • @Illya.Landar
      @Illya.Landar  10 หลายเดือนก่อน +1

      @@raff_m_d6971 типа неудобен твой способ.Но он имеет шанс на существование