Как загрузить все файлы (кроме HTML) с веб-сайта с помощью wget? - PullRequest
148 голосов
/ 06 января 2012

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

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

Ответы [ 8 ]

240 голосов
/ 06 января 2012

Чтобы отфильтровать по определенным расширениям файлов:

wget -A pdf,jpg -m -p -E -k -K -np http://site/path/

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

wget --accept pdf,jpg --mirror --page-requisites --adjust-extension --convert-links --backup-converted --no-parent http://site/path/

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

80 голосов
/ 19 ноября 2013

Это скачало для меня весь сайт:

wget --no-clobber --convert-links --random-wait -r -p -E -e robots=off -U mozilla http://site/path/
62 голосов
/ 06 января 2012
wget -m -p -E -k -K -np http://site/path/

Справочная страница расскажет вам, что делают эти опции.

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

22 голосов
/ 21 мая 2014

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

wget -A zip -r -l 1 -nd http://omeka.org/add-ons/themes/
  • -A: принимать только zip-файлы
  • -r: recurse
  • -l 1: один уровень глубоко (т. е. только файлы, напрямую связанные с этой страницей)
  • -nd: не создавайте структуру каталогов, просто загрузите все файлы в этот каталог.

Все ответы сОпции -k, -K, -E и т. Д., Вероятно, не совсем поняли вопрос, например, такие, как перезапись HTML-страниц для создания локальной структуры, переименование .php файлов и так далее.Не актуально.

Буквально получить все файлы , кроме .html и т. Д .:

wget -R html,htm,php,asp,jsp,js,py,css -r -l 1 -nd http://yoursite.com
7 голосов
/ 10 декабря 2013

Вы можете попробовать:

wget --user-agent=Mozilla --content-disposition --mirror --convert-links -E -K -p http://example.com/

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

-A pdf,ps,djvu,tex,doc,docx,xls,xlsx,gz,ppt,mp4,avi,zip,rar

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

-R html,htm,asp,php

или для исключения определенных областей:

-X "search*,forum*"

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

5 голосов
/ 20 декабря 2014
wget -m -A * -pk -e robots=off www.mysite.com/

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

5 голосов
/ 23 сентября 2014

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

wget --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL
3 голосов
/ 26 января 2014

В системах Windows для получения wget вы можете

  1. скачать Cygwin
  2. скачать GnuWin32
...