Как использовать diff при выполнении wget?

Предположим, есть сайт www.songs.com, я загружаю песни с этого сайта с помощью wget -r. Затем, скажем, через 3 дня, была обновлена ​​информация о сайте и добавлены новые песни.

Есть ли способ загрузить только новые песни с помощью wget?

Как бы то ни было, если я даю команду

wget – r

Он загрузит весь сайт.

Я думаю, вы можете попробовать использовать wget --no-clobber , но, как упоминалось выше, вы, вероятно, захотите изучить использование решения, основанного на rsync а не на HTTP. Предполагая, что у вас есть SSH-доступ к серверу, rsync может использовать это в качестве транспортного механизма с помощью rsync -za --stats -essh user@host.example.com:/path/to/files /path/to/local/copy/of/files .

Обратите внимание, что wget --no-clobber -r будет получать только файлы, новые с момента последней проверки, и не будет повторно загружать новые копии, которые были изменены . Вот почему rsync – лучшее решение для вашего прецедента.

Другая альтернатива, которую я нашел, – это программное обеспечение GPL, HTTrack, которое отражает целые веб-сайты и может вывести последующие дифференциалы. Его можно найти здесь . Windows, но есть сборки и / или источники для Windows, OS X, Linux, BSD и Android (!).