Как использовать wget
и получить все файлы с веб-сайта?
Мне нужны все файлы, кроме файлов веб-страниц, таких как HTML, PHP, ASP и т. Д.
Как использовать wget
и получить все файлы с веб-сайта?
Мне нужны все файлы, кроме файлов веб-страниц, таких как HTML, PHP, ASP и т. Д.
Чтобы отфильтровать определенные расширения файлов:
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
будут автоматически удалены.
--accept
чувствителен к регистру, поэтому вам придется сделать --accept pdf,jpg,PDF,JPG
- person Flimm; 21.11.2014
wget
, но вы должны указать тип --progress
, например --progress=dot
- person jamis; 24.03.2016
--ignore-case
, чтобы --accept
регистр не учитывался.
- person Harsh; 03.05.2017
--progress
- это не более длинное имя опции для -p
. Это должно быть --page-requisites
, как в man
.
- person CurtisLeeBolin; 17.11.2017
https://www.balluff.com
, и она успешно загружает несколько PDF-файлов, но не хватает тех, что на этой странице balluff.com/en/de/service/downloads/brochures-and-catalogues / # /. Например, это: assets.balluff.com/WebBinary1/ были теми, что были здесь самый интересный. Есть идеи, почему? @diabloneo
- person x89; 07.07.2021
https://www.balluff.com
, и она успешно загружает несколько PDF-файлов, но не хватает тех, что на этой странице balluff.com/en/de/service/downloads/brochures-and-catalogues / # /. Например, это: assets.balluff.com/WebBinary1/ были теми, что были здесь самый интересный. Есть идеи, почему? @Жесткий
- person x89; 07.07.2021
Это скачали мне весь веб-сайт:
wget --no-clobber --convert-links --random-wait -r -p -E -e robots=off -U mozilla http://site/path/
-e robots=off
! Это наконец решило мою проблему! :) Спасибо
- person NHDaly; 22.12.2013
--random-wait
гениален;)
- person poitroae; 06.02.2014
wget -m -p -E -k -K -np http://site/path/
страница руководства расскажет вам, что делают эти параметры.
wget
будет переходить только по ссылкам, если на странице индекса нет ссылки на файл, wget
не узнает о его существовании и, следовательно, не загрузит его. т.е. это помогает, если на все файлы есть ссылки на веб-страницах или в индексах каталогов.
Я пытался загрузить zip-файлы, ссылки на которые есть на странице тем Omeka - довольно похожая задача. Это сработало для меня:
wget -A zip -r -l 1 -nd http://omeka.org/add-ons/themes/
-A
: принимать только zip-файлы-r
: рекурсивный-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
-A
, я думаю, чувствителен к регистру, поэтому вам придется сделать -A zip,ZIP
- person Flimm; 21.11.2014
Вы можете попробовать:
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
Попробуй это. У меня всегда работает
wget --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL
wget -m -A * -pk -e robots=off www.mysite.com/
это загрузит все типы файлов локально и укажет на них из файла html и проигнорирует файл роботов
Я знаю, что эта тема очень старая, но я попал сюда в 2021 году в поисках способа загрузить все файлы Slackware с зеркала (http://ftp.slackware-brasil.com.br/slackware64-current/).
Прочитав все ответы, лучшим вариантом для меня был:
wget -m -p -k -np -R '*html*,*htm*,*asp*,*php*,*css*' -X 'www' http://ftp.slackware-brasil.com.br/slackware64-current/
Мне пришлось использовать *html*
вместо просто html
, чтобы избежать таких загрузок, как index.html.tmp
.
Пожалуйста, простите меня за воскрешение этой темы, я подумал, что она может быть полезна кому-то другому, кроме меня, и мои сомнения очень похожи на вопрос @ Aniruddhsinh.
wget --spider
и всегда добавляйте-w 1
(или больше-w 5
), чтобы не переполнять сервер другого человека. - person isomorphismes   schedule 06.03.2015