Wget kullanarak bir dizin ve alt dizinleri nasıl indirebilirim?


143

Ben wgeto proje için SVN sunucusu artık çalışmıyor ve ben sadece bir tarayıcı üzerinden dosyalara erişebildiğim için, kullanarak bir proje için dosyaları indirmek için çalışıyorum . Tüm dosyalar için temel URL'ler aynı

http://abc.tamu.edu/projects/tzivi/repository/revisions/2/raw/tzivi/ *

wget"Tzivi" klasörünün kök klasör olduğu ve altında birkaç dosya ve alt klasör (2 veya 3 seviyeye kadar) olduğu bu depodaki tüm dosyaları indirmek için (veya benzer bir aracı) nasıl kullanabilirim ?


3
Sunucuda, ihtiyacınız olan dosyalara ilişkin tüm bağlantıları içeren bir web sayfası yoksa bunu yapamazsınız.
Eddy_Em

1
dosyaların adını biliyor musun?
Karoly Horvath

hayır ben tüm dosyaların adını bilmiyorum. ben özyinelemeli seçeneği ile wget çalıştı ama o da işe yaramadı. çünkü sunucu tüm iç bağlantıları listeleyen herhangi bir index.html dosyası yok.
code4fun

Wget'in yansıtma seçeneğini denediniz mi?
Tomasz Nguyen

Yanıtlar:


193

Bunu kabukta kullanabilirsiniz:

wget -r --no-parent http://abc.tamu.edu/projects/tzivi/repository/revisions/2/raw/tzivi/

Parametreler:

-r     //recursive Download

ve

--no-parent // Don´t download something from the parent directory

İçeriğin tamamını indirmek istemiyorsanız şunları kullanabilirsiniz:

-l1 just download the directory (tzivi in your case)

-l2 download the directory and all level 1 subfolders ('tzivi/something' but not 'tivizi/somthing/foo')  

Ve bunun gibi. Eğer hiçbir eklerseniz -lseçeneği, wgetkullanacağı -l 5otomatik.

Eğer eklerseniz -l 0tüm interneti indirirsiniz, çünkü wgetbulduğu her bağlantıyı takip eder.


19
Harika, bir sonraki okuyucu için basitleştirmek için: wget -r -l1 --no-parent http://www.stanford.edu/~boyd/cvxbook/cvxbook_additional_exercises/benim için bir cevaptı. Cevabınız için teşekkürler.
isomorphismes

2
Tüm dosyaları almak için yukarıdaki komutu denedim http://websitename.com/wp-content/uploads/2009/05ama tek aldığım index.htmlhiçbir şey olmayan bir dosyaydı. Neyi özlediğimi anlayamıyorum.
Vivek Todi

@up: wget'in bağlantıları izlediğini unutmayın, bu yüzden bir dizin listesine ihtiyacınız vardır;)

11
Bunun oldukça eski olduğunu biliyorum. Ama aynı zamanda yararlı bulduğum şey -e robots=offgeçişti. ;)
Matthias W.

2
Neden "Önemli bir şeyi unuttum" u kaldırıp cevabı düzeltmiyorsunuz ???
user1271772

16

Bunu bir kabukta kullanabilirsiniz:

wget -r -nH --cut-dirs=7 --reject="index.html*" \
      http://abc.tamu.edu/projects/tzivi/repository/revisions/2/raw/tzivi/

Parametreler:

-r recursively download

-nH (--no-host-directories) cuts out hostname 

--cut-dirs=X (cuts out X directories)



1

bu komutu da kullanabilirsiniz:

wget --mirror -pc --convert-links -P ./your-local-dir/ http://www.your-website.com

böylece indirmek istediğiniz web sitesinin tam aynasını elde edebilirsiniz


1

Bu bağlantı bana en iyi yanıtı verdi:

$ wget --no-clobber --convert-links --random-wait -r -p --level 1 -E -e robots=off -U mozilla http://base.site/dir/

Bir cazibe gibi çalıştı.


-1

Bu çalışıyor:

wget -m -np -c --no-check-certificate -R "index.html*" "https://the-eye.eu/public/AudioBooks/Edgar%20Allan%20Poe%20-%2"
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.