Wget kullanarak bir web sitesindeki tüm dosyaları (HTML değil) nasıl indirebilirim?


162

wgetWeb sitesinden tüm dosyalar nasıl kullanılır ve alınır?

HTML, PHP, ASP gibi web sayfası dosyaları dışındaki tüm dosyalara ihtiyacım var.


Eğer php indirmek istiyorsanız bile, wget kullanarak mümkün değildir. Wget kullanarak sadece ham HTML alabiliriz. Sanırım sebebini biliyorsun
Venkateshwaran Selvaraj

Not: Her zaman wget --spiderönce kontrol edin ve her zaman ekleyin -w 1(veya daha fazlasını -w 5), böylece diğer kişinin sunucusunu taşmazsınız.
isomorphismes

1
Bu sayfadaki tüm pdf dosyalarını nasıl indirebilirim? pualib.com/collection/pua-titles-a.html

Stack Overflow, programlama ve geliştirme soruları için bir sitedir. Bu soru konu dışı gibi görünüyor çünkü programlama veya geliştirme ile ilgili değil. Yardım Merkezi'nde hangi konular hakkında soru sorabilirim konusuna bakın . Belki Süper Kullanıcı veya Unix & Linux Stack Exchange sormak için daha iyi bir yer olurdu. Ayrıca bkz. Dev Ops ile ilgili soruları nereye gönderebilirim?
jww

Yanıtlar:


262

Belirli dosya uzantılarına filtre uygulamak için:

wget -A pdf,jpg -m -p -E -k -K -np http://site/path/

Veya uzun seçenek adlarını tercih ediyorsanız:

wget --accept pdf,jpg --mirror --page-requisites --adjust-extension --convert-links --backup-converted --no-parent http://site/path/

Bu, siteyi yansıtır, ancak uzantısız jpgveya pdfuzantısız dosyalar otomatik olarak kaldırılır.


17
Tüm dizin mimarisi olmadan dosyaları indirmek istiyorsanız, -nd seçeneğini kullanabilirsiniz .
diabloneo

4
bayrakların her biri ne anlama geliyor?
Jürgen Paul

Sanırım --acceptbüyük / küçük harfe duyarlı, bu yüzden yapmanız gerekecek--accept pdf,jpg,PDF,JPG
Flimm

8
bunun yeni bir sürümü ile olup olmadığından emin değilsiniz, wgetancak bir --progresstür belirtmeniz gerekir , örneğin--progress=dot
jamis

@Flimm --ignore-case, büyük / --acceptküçük harfe duyarsız hale getirmek için bayrağı da kullanabilirsiniz .
Sert

84

Bu benim için tüm web sitesini indirdi:

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

20
İçin +1 -e robots=off! Bu sonunda sorunumu çözdü! :) Teşekkürler
NHDaly

12
--random-waitSeçenek dahidir;)
poitroae

2
@izilotti Site sahibi, site dosyalarını bu yöntemle WGET yapıp yapmadığınızı öğrenebilir mi?
Elias7

1
@whatIsperfect Kesinlikle mümkün.
Jack

1
@JackNicholsonn Site sahibi nasıl bilecek? Kullanılan ajan Mozilla idi, yani tüm başlıklar bir Mozilla tarayıcısı olarak girecek, böylece kullanılan wget'i tespit etmek mümkün olmayacak mı? Yanılıyorsam lütfen düzeltin. teşekkürler
KhoPhi

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

man sayfası size bu seçeneklerin ne yaptığını söyleyecektir.

wgetyalnızca dizin sayfasından bir dosyaya bağlantı yoksa, bağlantıları izler wget, varlığını bilmez ve bu nedenle indirmez. yani. tüm dosyalar web sayfalarına veya dizin dizinlerine bağlanırsa yardımcı olur.


Cevabınız için teşekkürler :) Tüm siteyi kopyalar ve web sitesinde sadece dosyalara ihtiyacım var (yani txt, pdf, resim vb.)
Aniruddhsinh

25

Omeka'nın tema sayfasından bağlanan zip dosyalarını indirmeye çalışıyordum - oldukça benzer bir görev. Bu benim için çalıştı:

wget -A zip -r -l 1 -nd http://omeka.org/add-ons/themes/
  • -A: sadece zip dosyalarını kabul et
  • -r: tekrarlama
  • -l 1: bir seviye derinlik (yani, yalnızca bu sayfadan doğrudan bağlantılı dosyalar)
  • -nd: bir dizin yapısı oluşturmayın, tüm dosyaları bu dizine indirin.

, Vb. Seçenekleri ile verilen tüm cevaplar -k, HTML sayfalarının yerel bir yapı oluşturmak için yeniden yazılması, dosyaların yeniden adlandırılması vb. Gibi soruları gerçekten anlamamıştır . İlgili değil.-K-E.php

Anlamıyla tüm dosyaları almak için hariç .html vs:

wget -R html,htm,php,asp,jsp,js,py,css -r -l 1 -nd http://yoursite.com

2
-Abüyük / küçük harfe duyarlıdır, bence yapmanız gerekir-A zip,ZIP
Flimm

7

Deneyebilirsiniz:

wget --user-agent=Mozilla --content-disposition --mirror --convert-links -E -K -p http://example.com/

Ayrıca ekleyebilirsiniz:

-A pdf,ps,djvu,tex,doc,docx,xls,xlsx,gz,ppt,mp4,avi,zip,rar

belirli uzantıları kabul etmek veya yalnızca belirli uzantıları reddetmek için:

-R html,htm,asp,php

veya belirli alanları hariç tutmak için:

-X "search*,forum*"

Dosyalar robotlar için yoksayılırsa (ör. Arama motorları), şunları da eklemeniz gerekir: -e robots=off


5

Bunu dene. O her zaman benim için çalışır

wget --mirror -p --convert-links -P ./LOCAL-DIR WEBSITE-URL

5
wget -m -A * -pk -e robots=off www.mysite.com/

bu, tüm dosya türlerini yerel olarak indirir ve html dosyasından işaret eder ve robotlar dosyasını yok sayar


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.