Недавно открыл для себя гугловский Notebook LM и когда решил собрать в нем базу знаний по SEO озадачился вопросом – как быстро вытащить список видео с YouTube без сторонних сервисов и написания парсера на Python.

В топе выдачи мне попался интересный и рабочий способ как с помощью JavaScript вывести в консоль браузера список необходимых материалов.

Парсинг списка видео на Youtube

Итак, представим – перед нами нужный YouTube-канал.

Для начала открываем консоль разработчика (правой кнопкой, исследовать элемент), переключаемся на вкладку Console и вводим команду чтобы выполнить скролл до конца списка видео. Нам нужно чтобы все видео прогрузились.

Код
var scroll = setInterval(function() { window.scrollBy(0, 1000); }, 1000);

Данный код запустит скролл страницы на 1000 пикселей раз в секунду.

Когда мы доскроллили до конца (или решили остановиться) вводим команду:

Код
clearInterval(scroll);

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

Код
console.clear();
const urls = document.querySelectorAll('a#video-title-link');
urls.forEach(video => console.log(`${video.title}\t${video.href}`));

Данный код очищает консоль, затем находит все элементы являющиеся ссылками (тег <a>) с id=video-title-link, а затем для каждого элемента среди найденных выводит в консоль заголовок и ссылку на видео.

Данный код очищает консоль, затем находит все элементы являющиеся ссылками (тег <a>) с id=video-title-link, а затем для каждого элемента среди найденных выводит в консоль заголовок и ссылку на видео.

Готово, в консоль вывели все видео – копируем их в Google Sheets и осталось только почистить лишние символы с помощью поиска и замены.

Парсинг списка статей на Medium

Имея под рукой ChatGPT можно адаптировать данную логику под любой проект с бесконечным скроллом.

Например, у меня давно была открыта вкладка на Medium с материалами про Data Science

Выполнив на шаге 3 следующий скрипт в консоли быстро получаем все материалы со страницы – заголовок, ссылку, дату публикации и автора

Выполнив на шаге 3 следующий скрипт в консоли быстро получаем все материалы со страницы – заголовок, ссылку, дату публикации и автора:

Код
console.clear();
const posts = document.querySelectorAll('article[data-testid="post-preview"]');

posts.forEach(post => {
  // Заголовок
  const titleEl = post.querySelector('h2');
  const title = titleEl ? titleEl.textContent.trim() : '';

  // Ссылка (полная, из data-href)
  const linkEl = post.querySelector('div[role="link"][data-href]');
  const link = linkEl ? linkEl.getAttribute('data-href') : '';

  // Автор
  const authorEl = post.querySelector('a[href^="/@"] p');
  const author = authorEl ? authorEl.textContent.trim() : '';

  // Дата (всплывающая надпись «Added <span>…</span>»)
  const dateEl = post.querySelector('span.ez span');
  const date = dateEl ? dateEl.textContent.trim() : '';

  console.log(`${title}\t${link}\t${date}\t${author}`);
});

Да, данный способ не заменит полноценный парсер, но когда нужно быстро и один раз вытащить данные из какого-то сервиса вполне сойдет за способ автоматизации.

Похожие материалы