Як використовувати wget
та отримувати всі файли з веб-сайту?
Мені потрібні всі файли, крім файлів веб-сторінок, таких як HTML, PHP, ASP тощо.
wget --spider
спочатку і завжди додайте -w 1
(або більше -w 5
), щоб не затопити сервер іншої людини.
Як використовувати wget
та отримувати всі файли з веб-сайту?
Мені потрібні всі файли, крім файлів веб-сторінок, таких як HTML, PHP, ASP тощо.
wget --spider
спочатку і завжди додайте -w 1
(або більше -w 5
), щоб не затопити сервер іншої людини.
Відповіді:
Щоб відфільтрувати конкретні розширення файлів:
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
wget
але вам потрібно вказати --progress
тип, наприклад--progress=dot
--ignore-case
прапор, щоб зробити --accept
регістр нечутливим.
Це завантажило для мене весь веб-сайт:
wget --no-clobber --convert-links --random-wait -r -p -E -e robots=off -U mozilla http://site/path/
-e robots=off
! Це остаточно вирішило мою проблему! :) Дякую
--random-wait
Варіант геній;)
wget -m -p -E -k -K -np http://site/path/
Сторінка man розповість вам, що ці варіанти роблять.
wget
буде переходити лише за посиланнями, якщо немає посилання на файл із індексної сторінки, то wget
він не буде знати про його існування, а значить, не завантажуватиме його. тобто. це допомагає, якщо всі файли пов'язані з веб-сторінками або в каталогах каталогів.
Я намагався завантажити поштові файли, пов’язані зі сторінки тем Omeka - досить схоже завдання. Це працювало для мене:
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
-A
Думаю, що це стосується регістру, я думаю, тому вам доведеться це зробити-A zip,ZIP
Ви можете спробувати:
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-файлу, і воно проігнорує файл роботів