Случается иногда такая необходимость, выдернуть все нужные ссылки со страницы в браузере, а ссылок тысяча и вручную это делать, мягко говоря, нерационально. Задачу легко автоматизировать, используя возможности JavaScript и метода map. Как это работает:

  1. Жмем F12, чтобы увидеть консоль разработчика в современном браузере (Chrome / Firefox). Или запускаем эту самую консоль другим методом, который нравится лично вам.

  2. Затем пишем в консоли следующую команду:

<Array.prototype.slice.call(document.querySelectorAll('a')).map(function (el) { return el.href })

Если на странице подключен JQuery, то команда упрощается до:

$.map($('a'), function (el) { return el.href })

Жирным выделено место, куда мы вставляем необходимый селектор. Например, в моем случае с выдиранием большого количества ссылок на ютубе, селектор был таким: .yt-lockup-title > a (выбор всех непосредственных дочерних элементов h3 с классом yt-lockup-title). Вот что получается в итоге:

Получение всех ссылок со страницы

Для более удобного вывода можно дампить все прямо в консоль, а не возвращать элементы массивом:

Array.prototype.slice.call(document.querySelectorAll('.yt-lockup-title > a')).map(function (el) { console.log(el.href) } )

Потом удобно закинуть этот список в текстовый файл и скормить какому-нибудь консольному youtube-dl командой:

youtube-dl --batch-file='links.txt'

Можно с таким же успехом выдирать, например, все адреса картинок или каких-то файлов. Естественно, возможности составления выборки ограничиваются только возможностями языка JavaScript.


В разделе юмор
Андрей Баксаляр  :: 16 окт 2013, в 14:02

Человеческий фактор (aka наше-раздолбайство-от-природы) и стремление все автоматизировать порой способны генерировать высококлассный черный юмор:

В Швейцарии почтовая служба разослала поздравления с переездом и пожелания хорошо обустроиться на новом месте умершим клиентам.

Добро пожаловать домой!

Как сообщает агентство France Presse, руководство почтовой службы принесло извинения родственникам.

В службе пояснили, что поздравительные письма рассылались автоматически после того, как родственники умерших оформляли переадресацию их корреспонденции на новые адреса.

Согласно разъяснению, которое поступило в агентство, почта Швейцарии сожалеет об этих отдельных инцидентах и уже приняла меры, чтобы подобное не повторилось в будущем.

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

Войти через...


Это даст читателю возможность голоса, комментария, создания закладки, и даже написания поста, не говоря о множестве других мелких ништяков.

Популярное


Соациализируемся


Также найти меня можно в других злачных местах:

Все еще использую электронную почту:
andreybaksalyar@ya.ru