Парсинг ссылок на картинки с сайта и их массовая закачка
Сначала я вам расскажу про свою задачу.
Надо было с одного сайта скачать все фотки с галерей. Было около 30 страниц, на каждой из которых было примерно 50-100 фотографий. Их надо было скачать.
Проблем то? В общем решил сделать следующим образом, открыл одну страницу с галерей, нажал «Сохранить как» (или Cntrl+S) в Google Chrom. И скачалась целиком страница со всеми файлами.
Естественно все картинки тоже должны были скачаться. НО скачались лишь их миниатюры. Залез в Html-код и увидел следующею разметку для одной из фотографий.
<a rel="lightbox" data-href="Полный путь до картинки" data-title=""> <img src="Путь до миниатюры" alt=""/> </a>
То есть, нужные мне картинки находились в атрибуте «data-href». Дело в том, что браузер не воспринимает такой атрибут, как ссылку на файл.
И вот я начал капать интернет в поисках решения. Самым очевидным решением, мне показалось спарсить все через Datacol. Но под рукой не было лицензии, а покупать второй раз как-то не хотелось.
И в итоге нашёл бесплатную программу, для элементарного парсинга с сайта happy-hack.ru. С помощью неё можно спарсить все ссылки на все нужные нам изображения.
Внимание: антивирусник может посчитать её как вирус, хотя у меня ни каких проблем не было.
В ней все просто, забиваем ссылку на страницу, правила и нажимаем старт. Объясню поподробней.
1. Мы вбиваем адрес нужной нам страницы.
2 и 3. Мы вбиваем правила для копирования пути на изображение так, чтобы между «от» и «до» был путь на изображение (не забываем про двойные кавычки, они тоже нужны). Пример:
<a rel="lightbox" data-href="http://daruse.ru/image.jpg" data-title="">
4. Нажимаем кнопку «Старт» и ждём завершение.
5. Сохраняем.
На выходе получаем текстовый файл, в которым построчно написаны ссылки.
Теперь остаётся их скачать, нужна была программа, в который можно импортировать все ссылки и скачать разом, для этого нашёл программу Download master, скачать её можно тут.
В ней выбираем «Файл - Импорт» и выбираем наш текстовый файл с ссылками.
Вот такой способ я использовал для решения этой задачи. Если вы знаете проще, пишите в комментариях.
Комментарии