Я пытаюсь загрузить полный каталог веб-сайтов, используя CURL. Следующая команда не работает:
curl -LO http://example.com/
Она возвращает ошибку: curl: Remote file name has no length!
.
Но когда я делаю это: curl -LO http://example.com/someFile.type
это работает. Есть идеи, как скачать все файлы в указанном каталоге? Спасибо.
wget --no-parent -r http://WEBSITE.com/DIRECTORY
и тоже без--no-parent
- не получилось.HTTP на самом деле не имеет понятия о каталогах. Косые черты, кроме первых трех (
http://example.com/
), не имеют какого-либо специального значения, кроме как..
в относительных URL. Поэтому, если сервер не следует определенному формату, нет способа «загрузить все файлы в указанном каталоге».Если вы хотите загрузить весь сайт, лучше всего рекурсивно просматривать все ссылки на главной странице. Керл не может этого сделать, но wget может. Это будет работать, если веб-сайт не слишком динамичен (в частности, wget не будет видеть ссылки, созданные с помощью кода Javascript). Начните с
wget -r http://example.com/
и посмотрите «Параметры рекурсивного извлечения» и «Параметры рекурсивного принятия / отклонения» в руководстве по wget для получения более соответствующих параметров (глубина рекурсии, списки исключений и т. Д.).Если веб-сайт пытается заблокировать автоматические загрузки, вам может потребоваться изменить строку пользовательского агента (
-U Mozilla
) и игнорировать ееrobots.txt
(создайте пустой файлexample.com/robots.txt
и используйте этот-nc
параметр, чтобы wget не пытался загрузить его с сервера).источник
-e robots=off
. В качестве альтернативы вы можете избежать загрузки, отклонив его с помощью-R "robots.txt"
.В этом случае
curl
НЕ лучший инструмент. Вы можете использоватьwget
с-r
аргументом, например так:Это самая основная форма, и вы также можете использовать дополнительные аргументы. Для получения дополнительной информации см.
manpage
(man wget
).источник
Это невозможно Не существует стандартного, общепринятого, способа для веб-сервера вернуть вам содержимое каталога. Большинство серверов генерируют HTML-индекс каталога, если он настроен для этого, но этот вывод не является стандартным и не гарантируется никакими средствами. Вы можете проанализировать этот HTML, но имейте в виду, что формат будет меняться от сервера к серверу и не всегда будет включен.
источник
wget
илиcurl
?Вы можете использовать расширение Firefox DownThemAll! Это позволит вам скачать все файлы в каталоге в один клик. Это также настраивается, и вы можете указать, какие типы файлов для загрузки. Это самый простой способ, который я нашел.
источник
Вы можете найти использование для риппера веб-сайта здесь, он загрузит все и изменит содержание / внутренние ссылки для локального использования. Хороший можно найти здесь: http://www.httrack.com
источник