2012-01-06 3 views
125

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

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

+0

Даже если вы хотите, чтобы загрузить PHP, его невозможно используя wget. Мы можем получить только необработанный HTML-код с помощью wget. Я думаю, вы знаете причину –

+0

** NB: ** Всегда сначала проверяйте с помощью 'wget -spider' и всегда добавляйте' -w 1' (или больше '-w 5'), чтобы вы не наводнили другое лицо сервер. – isomorphismes

+0

Как я могу загрузить все pdf-файлы на этой странице? http://pualib.com/collection/pua-titles-a.html – Arturo

ответ

194

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

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 расширения будут автоматически удаляется.

+7

Если вы просто хотите скачать файлы без архитектуры целых каталогов, вы можете использовать опцию ** - nd **. – diabloneo

+1

Что означают каждый из флагов? – Michelle

+0

Я думаю, что '--accept' чувствителен к регистру, поэтому вам придется делать' --accept pdf, jpg, PDF, JPG' – Flimm

62
wget -m -p -E -k -K -np http://site/path/ 

человек страница расскажет вам, что делать эти варианты.

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

+0

Спасибо за ответ :) Он копирует весь сайт и мне нужны только файлы (т. Е. Txt, pdf , изображение и т. д.) на веб-сайте – Aniruddhsinh

63

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

wget --no-clobber --convert-links --random-wait -r -p -E -e robots=off -U mozilla http://site/path/ 
+14

+1 для '-e robots = off'! Это, наконец, устранило мою проблему! :) Спасибо – NHDaly

+0

+1, сделал именно то, что хотел. Совершенное зеркало – Anon343224user

+5

Опция '--random-wait' является гением;) – poitroae

6

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

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

2

В системах Windows, для того, чтобы получить Wget вы можете

  1. загрузить Cygwin
  2. загрузить GnuWin32
15

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

wget -A zip -r -l 1 -nd http://omeka.org/add-ons/themes/ 
  • -A: принимать только файлы почтового индекса
  • -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 
+1

'-A' чувствителен к регистру, я думаю, так что вам придется делать' -A zip, ZIP' – Flimm

4

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

wget --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL 
2
wget -m -A * -pk -e robots=off www.mysite.com/ 

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

Смежные вопросы