Как скачать все файлы с сайта разом
Перейти к содержимому

Как скачать все файлы с сайта разом

Как скачать все файлы (но не HTML) с веб-сайта с помощью wget?

Как использовать wget и получить все файлы с сайта?

Мне нужны все файлы, кроме файлов веб-страницы, таких как HTML, PHP, ASP и т. д.

9 ответов

для фильтрации определенных расширений файлов:

или, если вы предпочитаете длинные имена вариант:

это будет отражать сайт, но файлы без jpg или pdf расширение будет автоматически удалено.

это загрузило весь сайт для меня:

man page расскажет вам, что делают эти параметры.

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

Я пытаюсь загрузить zip-файлы, связанные с страница тем Omeka — очень похожие задачи. Это сработало для меня:

  • -A : принимать только zip-файлы
  • -r : recurse
  • -l 1 : один уровень глубоко (т. е. только файлы, непосредственно связанных с этой страницы)
  • -nd : не создавайте структуру каталогов, просто загрузите все файлы в этот каталог.

все ответы с -k , -K , -E etc параметры, вероятно, не совсем поняли вопрос, как те, что для перезаписи HTML-страниц, чтобы сделать локальную структуру, переименование .php файлы и так далее. Не относящийся.

чтобы буквально получить все файлы за исключением .html etc:

также вы можете добавить:

чтобы принять определенные расширения или отклонить только определенные расширения:

или исключить конкретные области:

если файлы игнорируются для роботов (например, поисковые системы), вы также должны добавить: -e robots=off

попробуйте это. Это всегда работает для меня

это загрузит все типы файлов локально и укажет на них из файла html и он будет игнорировать роботы файлом

11 фишек для извлечения и сохранения данных с сайтов

Favorite В закладки

11 фишек для извлечения и сохранения данных с сайтов

БЕЗ скриптов, макросов, регулярных выражений и командной строки.

Эта статья пригодится студентам, которые хотят скачать все картинки с сайта разом, чтобы потом одним движением вставить их в Power Point и сразу получить готовую презентацию. Владельцам электронных библиотек, которые собирают новые книги по ресурсам конкурентов. Просто людям, которые хотят сохранить интересный сайт/страницу в соцсети, опасаясь, что те могут скоро исчезнуть, а также менеджерам, собирающим базы контактов для рассылок.

Есть три основные цели извлечения/сохранения данных с сайта на свой компьютер:

  • Чтобы не пропали;
  • Чтобы использовать чужие картинки, видео, музыку, книги в своих проектах (от школьной презентации до полноценного веб-сайта);
  • Чтобы искать на сайте информацию средствами Spotlight, когда Google не справляется (к примеру поиск изображений по exif-данным или музыки по исполнителю).

Ситуации, когда неожиданно понадобится автоматизированно сохранить какую-ту информацию с сайта, могут случиться с каждым и надо быть к ним готовым. Если вы умеете писать скрипты для работы с утилитами wget/curl, то можете смело закрывать эту статью. А если нет, то сейчас вы узнаете о самых простых приемах сохранения/извлечения данных с сайтов.

1. Скачиваем сайт целиком для просмотра оффлайн

site_sucker_start

В OS X это можно сделать с помощью приложения HTTrack Website Copier, которая настраивается схожим образом.

Пользоваться Site Sucker очень просто. Открываем программу, выбираем пункт меню File -> New, указываем URL сайта, нажимаем кнопку Download и дожидаемся окончания скачивания.

Чтобы посмотреть сайт надо нажать на кнопку Folder, найти в ней файл index.html (главную страницу) и открыть его в браузере. SiteSucker скачивает только те данные, которые доступны по протоколу HTTP. Если вас интересуют исходники сайта (к примеру, PHP-скрипты), то для этого вам нужно в открытую попросить у его разработчика FTP-доступ.

2. Прикидываем сколько на сайте страниц

google_search_site

Перед тем как браться за скачивание сайта, необходимо приблизительно оценить его размер (не затянется ли процесс на долгие часы). Это можно сделать с помощью Google. Открываем поисковик и набираем команду site: адрес искомого сайта. После этого нам будет известно количество проиндексированных страниц. Эта цифра не соответствуют точному количеству страниц сайта, но она указывает на его порядок (сотни? тысячи? сотни тысяч?).

3. Устанавливаем ограничения на скачивание страниц сайта

site_tracking_limits

Если вы обнаружили, что на сайте тысячи страниц, то можно ограничить число уровней глубины скачивания. К примеру, скачивать только те страницы, на которые есть ссылка с главной (уровень 2). Также можно ограничить размер загружаемых файлов, на случай, если владелец хранит на своем ресурсе tiff-файлы по 200 Мб и дистрибутивы Linux (и такое случается).

Сделать это можно в Settings -> Limits.

4. Скачиваем с сайта файлы определенного типа

allow_file_types

В Settings -> File Types -> Filters можно указать какие типы файлов разрешено скачивать, либо какие типы файлов запрещено скачивать (Allow Specified Filetypes/Disallow Specifies Filetypes). Таким образом можно извлечь все картинки с сайта (либо наоборот игнорировать их, чтобы места на диске не занимали), а также видео, аудио, архивы и десятки других типов файлов (они доступны в блоке Custom Types) от документов MS Word до скриптов на Perl.

5. Скачиваем только определенные папки

path_sitesucker

Если на сайте есть книги, чертежи, карты и прочие уникальные и полезные материалы, то они, как правило, лежат в отдельном каталоге (его можно отследить через адресную строку браузера) и можно настроить SiteSucker так, чтобы скачивать только его. Это делается в Settings -> Paths -> Paths to Include. А если вы хотите наоборот, запретить скачивание каких-то папок, то их адреса надо указать в блоке Paths to Exclude

6. Решаем вопрос с кодировкой

situsucker_choose_charset

Если вы обнаружили, что скачанные страницы вместо текста содержат кракозябры, там можно попробовать решить эту проблему, поменяв кодировку в Settings -> Advanced -> General. Если неполадки возникли с русским сайтом, то скорее всего нужно указать кодировку Cyrillic Windows. Если это не сработает, то попробуйте найти искомую кодировку с помощью декодера Лебедева (в него надо вставлять текст с отображающихся криво веб-страниц).

7. Делаем снимок веб-страницы

web_capture_net

Сделать снимок экрана умеет каждый. А знаете ли как сделать снимок веб-страницы целиком? Один из способов — зайти на web-capture.net и ввести там ссылку на нужный сайт. Не торопитесь, для сложных страниц время создания снимка может занимать несколько десятков секунд. Еще это можно провернуть в Google Chrome, а также в других браузерах с помощью дополнения iMacros.

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

8. Сохраняем картинки только с определенной страницы

owdig

Идем на owdig.com, указываем нужную ссылку, ждем когда отобразятся все картинки и кликаем на оранжевую полоску справа, чтобы скачать их в архиве.

9. Извлекаем HEX-коды цветов с веб-сайта

color_combo

Идем на colorcombos.com и набираем адрес искомой страницы и получаем полный список цветов, которые использованы на ней.

10. Извлекаем из текста адреса электронной почты

email_extractor

Предположим, что вам надо сделать рассылку по сотрудникам компании, а их email-адреса есть только на странице корпоративного сайта и копировать их оттуда в ручную займет лишние 20-30 минут. В такой ситуации на помощь приходит сервис emailx.discoveryvip.com. Просто вставьте туда текст и через секунду вы получите список всех адресов электронной почты, которые в нем найдены.

11. Извлекаем из текста номера телефонов

phonenumber_extractor

Идем на convertcsv.com/phone-extractor.htm, копируем в форму текст/html-код, содержащий номера телефонов и нажимаем на кнопку Extract.

А если надо отфильтровать в тексте заголовки, даты и прочую информацию, то к вам на помощь придут регулярные выражения и Sublime Text.

Есть и другие способы извлечения данных с сайтов. Можно попросить какую-ту информацию непосредственно у владельца ресурса, cохранять части веб-страниц с помощью iMacros и парсить сайты с помощью Google Apps Script. Еще можно пойти традиционным путем и написать для парсинга bash-скрипт, но статей об этом на iPhones.ru пока нет.

Favorite В закладки

Как массово скачать файлы по списку?

Буду писать на примере того, как это можно применить к парсеру Датакол. Например, по техническим причинам, Вы не смогли скачать файлы или Вы не хотите грузить парсинг скачкой файлов, Вы просто собрали данные, а возможно просто забыли, что нужно скачать и потом опомнились).

Что нужно для начала?

Для начала нам нужно составить список полных URL к файлам, каждый с новой строки, например:
https://site.com/files/file_image_1.jpg
https://site.com/files/file_image_2.jpg
https://site.com/files/file_image_3.jpg

Сохраняйте его в текстовый файл, который назовем, к примеру «url-list.txt».

Далее нам понадобится утилита WGET, думаю некоторые из Вас уже слышали о ней.

Переходим на сайт https://eternallybored.org/misc/wget/ и скачиваем нужную версию (32/64 бита). Последняя версия 1.20, только учтите, она не поддерживает XP, если у Вас такая, то берите прошлую версию.
Для лентяев приведу ссылки на последние версии
32 бита https://eternallybored.org/misc/wget/releases/wget-1.20-win32.zip
64 бита https://eternallybored.org/misc/wget/releases/wget-1.20-win64.zip

Подготовка к работе

Далее, просто распаковывайте архив в любую папку, например, c:\wget

Эта утилита консольная, у нее нет графического интерфейса, поэтому, чтобы запускать её из командной строки из любого места, нужно прописать в свойствах системы путь к папке:

  • Правой кнопкой мыши на значке Мой компьютер (или Win + Pause Break)
  • Выбираем Дополнительные параметры системы и в открывшемся окне Переменные среды
  • В открывшемся окне выделяем переменную Path и нажимаем изменить, и создаем новой значение с нашим путем к папке c:\wget\
  • Сохраняем

Если Вам кажется это слишком сложным и Вам это нужно на один раз, то можете не делать, а сразу приступить к следующим действиям.

Собираем все и начинаем

Итак, приступим, имеем следующие исходные данные:

  1. Файл со списком URL к файлам, предположим, что он у нас в корне диска С — c:\url-list.txt
  2. Создаем папку, куда будем скачивать файлы, предположим c:\files\
  3. Распаковали файлы с архива утилиты в папку c:\wget\

Когда эти 3 пункта готовы, открываем консоль. Для этого нажимаем комбинацию Win + R и вводим cmd и нажимаем enter
Сразу напишу готовую команду, а ниже расскажу, что к чему:

Если Вы не прописывали путь в свойствах системы, по моей инструкции выше, то для старта wget Вам нужно указать полный путь к ней, т.е
c:\wget\wget.exe вместо wget и команда для Вас будет выглядеть так

Теперь разбираем переменные:

  • -i и дальше путь для файла со списком URL для скачивания
  • —secure-protocol=auto — это используем, если на сайте защищенный протокол HTTPS, если простой HTTP, то убирайте эту команду
  • -nc — если файл уже есть, и он скачан полностью, то он не будет загружен заново
  • -c — если файл закачан не полностью, то будет продолжена закачка
  • -P и дальше папка, куда сохранять данные

Кому интересны все команды, а их ОЧЕНЬ много, то просто набираем в консоли
wget -h или c:\wget\wget.exe -h

Если Вам важна структура сохранения файлов как на источнике, то добавьте команду -x.

После того, как команда прописана, нажимаете enter и пойдет загрузка в указанную папку. На экране Вы будете видеть ЛОГ операций.

P.S строку для запуска лучше не писать в консоли, а приготовить ее заранее в любом редакторе, хоть в блокноте. Затем копируйте ее и в консоли нажимайте просто правую кнопку мыши или комбинацию Shift + Insert или Ctrl + V (эта комбинация раньше в консоли Windows не работала, сейчас на Win 10 работает, может работает и в ранних версиях, не знаю, когда добавили эту поддержку)

P.S чтобы собирать данные с серьезных порталов, однозначно нужны платные прокси.
Хорошие прокси от 33р за шт можно купить тут

И напоминаю, что по моей партнерской ссылке Вы получите 20% скидки на любой тариф, при покупке Датакол. Например, годовая лицензия будет стоить 6070руб. вместо 7590р .

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *