Как извлечь все ссылки с веб-страницы? Задался я вопросом когда возникла необходимость пакетной загрузки большого числа файлов по ссылкам с веб-страницы публичного ФТП серванта.
Туда-сюда из браузера в менеджер загрузки тыкать заколебёт, а файлы потребно скачать все и разом...
Искать сторонний спец.софт не вариант, нужно уметь обойтись стандартным набором инструментов входящих Дебиан Линух репозиторий или в сам браузер.
Метод 1. Извлечение ссылок через консоль браузера
Подумалось сначала извлечь все ссылки с веб-страницы путём парсинга curl
запроса, но на это не было времени и побежал я анонировать поиском, и наанонировал вот такой кусок JavaScript кода:
var x = document.querySelectorAll("a"); var myarray = [] for (var i=0; i<x.length; i++){ var nametext = x[i].textContent; var cleantext = nametext.replace(/\s+/g, ' ').trim(); var cleanlink = x[i].href; myarray.push([cleantext,cleanlink]); }; function make_table() { var table = '<table><thead><th>Name</th><th>Links</th></thead><tbody>'; for (var i=0; i<myarray.length; i++) { table += '<tr><td>'+ myarray[i][0] + '</td><td>'+myarray[i][1]+'</td></tr>'; }; var w = window.open(""); w.document.write(table); } make_table()
Куда его вставлять? В "Инструменты разработчика" браузера, открываем комбинацией на клаве «CTRL + SHIFT + i». На вкладке "Console" в левом нижнем углу окна браузера есть неприметные две синие стрелки указывающие на узкую строку - ото туды и вставляем весь тот код, жмём/давим ENTER. В новой вкладке (всплывающие/выползающие окна нужно будет разрешить) появится список ссылок:
В данном примере извлекались ссылки с веб-страницы ФТП-серванта download.mapsforge.org для пакетной загрузки карт оффлайн-навигации. Можно также использовать для пакетной загрузки голых сисек/писек или кому чего угодно.
Для насквозь мобилизированных киборгов/челоботов/андроидов, т.е. для мобильных юзеров, данный метод извлечения ссылок с веб-страницы наверно не вариант ибо могут возникнуть проблемы с комбинацией на клаве «CTRL + SHIFT + i» - тогда смотрим в сторону дополнений/плагинов к браузерам.
Метод 2. Извлечение ссылок через плагины браузера
Дале хрен знает шо то за плагины и как они арбайтен, афтор не в курсе и тупо нарыл их по поисковому запросу «extract links plugin for browser» - сами ставьте, юзайте, пишите в комменты шо то за хрень такая и какая от них польза.
Для сатанинского шпионского гугляцкого Chrome:
- Link Klipper - Extract all links - Chrome Web Store
Extract all links on a webpage and export them to a file.
Для браузера Firefox:
- Link Gopher – Get this Extension for Firefox (en-US)
Extracts all links from web page, sorts them, removes duplicates, and displays them in a new tab for inspection or copy and paste into other systems.
Метод 3. Извлечение ссылок через онлайн сервисы
Извлечение ссылок через онлайн сервисы - это ещё тот квэст!
Куча сайто-говно-кодеров развелось, клепающих монструозные говно-сайты фреймворком «хуяк-хуяк» + конченная reCaptcha, и в продакшын. На такие «хуяк-хуяк-сервисы» уходит десятки МБ траффика, ресурсов железа, и хороший пучок нервов на пробивание пиЗЕ!данутой reCaptcha и часто + завал окна рекламой. В последнее время у меня впечатление, что кроме reCaptcha никакой иной на всей Планете уже нигде не осталось!
Но, местами нормальные онлайн сервисы извлечения ссылок попадаются (нарыто по запросу «Online Tool to Extract Links»):
- URL Extractor, Free Online Links Extractor, Extract HTML Links
На момент публикации был реально рабочий вариант онлайн сервиса для извлечения ссылок с веб-страницы
Метод х. Извлечение ссылок через
Через что ещё можно извлекать веб-ссылки? Через «питона»? Через «Ц», через «Ц++» или может через «Ж»? Вам через что бы ещё хотелося? В комменты пишите письма.
Пока усё, дасвидос/допобачендос/гудбай/аухфидерзейн.