Чтобы сделать объяснение легким и немного интересным, давайте представим, что я хочу загрузить страницы википедии всех упомянутых здесь людей с помощью одной команды wget, возможно, с разумным количеством других страниц, которые мне не интересны. Пожалуйста, не закрывайте его. Если вы думаете, что это тривиально, попробуйте сделать это.

1 ответ1

1
C:\blah>wget -r -l 1 -w 1 -t 1 -T 5 -nd -k -e "robots=off"  http://en.wi
kipedia.org/wiki/List_of_inventors_killed_by_their_own_inventions

Я не могу проверить это быстро, потому что это займет время, чтобы загрузить ссылку в секунду. Если это будет быстро, они могут заблокировать вас. Кроме того, если вы выполните команду -k, то она может запуститься позже и не запуститься, если вы нажмете ctrl-c в середине, но вы можете позволить ей выполнить свой ход или удалить -k и -nd и остановить ее в середине и посмотреть, как она работает. ,

-r -l 1 <--- очень важно, это именно то, о чем просит ваш заголовок, чтобы перейти по ссылкам, загрузить ссылки. (да, включая ссылки на разные пути, но если вам нужны ссылки на сторонние хосты, вам также понадобится -H)

-w 1 -t 1 -T 5 <- так -w 1 ждать 1 секунду между каждым http-запросом, иначе сервер Википедии может разозлиться и заблокировать вас или что-то еще. кажется, что они действительно не хотят, чтобы кто-то показывал их сайт. -t 1 (повторить ссылку один раз, если она потерпит неудачу).. -T - сколько ждать, если ссылка не может быть загружена. Если он попадает на неработающую ссылку, вы не хотите, чтобы он подождал 20 секунд и повторил попытку 20 раз. или это займет больше времени, чем нужно, чтобы загрузить лот. , -w 1 является наиболее важным из них, так как вы не хотите получать какие-либо временные блоки от загрузки чего-либо для загрузки их сервера.

-e "robots = off" <--- это важно, иначе это не сработает. Это проходит мимо Википедии, пытающейся остановить пауков.

-nd <- не так уж и нужно .. просто сворачивает каталоги, поэтому просто поместите файлы в один каталог. Вы можете или не быть тем, что вы хотите. Возможно, вы захотите оставить это.

-k <- конвертировать ссылки, чтобы вместо них указывать на веб-страницы в Интернете, они указывали на загруженные локальные файлы. Проблема в том, что, очевидно, это может сделать свое дело после того, как wget не преобразует ссылки , поэтому я не могу просто немного загрузить и протестировать его. И вы могли бы сделать это вручную. с поиском и заменой .. на вашей странице индекса List_of_inventors_killed_by_their_own_inventions.htm, чтобы все, что говорит /wiki/James_Douglas,_4th_Earl_of_Morton вы могли бы изменить .. Хотя это, наверное, нормально .. Вы могли бы оставить вне ... Таким образом, вы получаете все эти файлы в подкаталоге "wiki". Или вы можете просто переместить файлы в подкаталог вики, если это будет необходимо. Либо сделайте так, чтобы дерево каталогов соответствовало ссылкам, либо сделайте так, чтобы ссылки соответствовали дереву каталогов.

Я немного неуклюжий при загрузке веб-сайтов .. Я сталкиваюсь с проблемами .. иногда я использую editpad pro и powergrep, чтобы вносить изменения в html с помощью регулярных выражений ... конвертируя вещи самостоятельно. это неудобно и эти программы не бесплатны, а другие. До этого я использовал поиск и замену в блокноте по отдельным файлам или какую-то бесплатную программу, которая может выполнять поиск и замену в пакете файлов. И MS Word иногда вырезать блоки Alt-Drag .., если это необходимо, редактирование HTML. неудобный. Но эта строка wget должна кое-где пройти.

Иногда я перетаскиваю все ссылки со страницы, поэтому у меня просто файл ссылок, затем я делаю wget -i fileoflinks, тогда нет ничего смешного! хотя я бы также сделал -w 1 -t 1 -T 2 или что-то в этом роде, чтобы сервер не зависал. Также с этим методом вы не получите смешного бизнеса.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .