Parametrelerle bağlantıları takip etmeden wget ile nasıl indirilir


11

Bir CD'ye eklemek için iki siteyi indirmeye çalışıyorum:

http://boinc.berkeley.edu/trac/wiki
http://www.boinc-wiki.info

Yaşadığım sorun, bunların ikisi de wiki. Yani örneğin ile indirirken:

wget -r -k -np -nv -R jpg,jpeg,gif,png,tif http://www.boinc-wiki.info/

Ayrıca ...? Action = edit ...? Action = diff & version = ... gibi bağlantıları takip ettiği için çok fazla dosya alıyorum .

Birisi bunun üstesinden gelmenin bir yolunu biliyor mu?

Sadece geçerli sayfaları, resimsiz ve diffs vb.

Not:

wget -r -k -np -nv -l 1 -R jpg,jpeg,png,gif,tif,pdf,ppt http://boinc.berkeley.edu/trac/wiki/TitleIndex

Bu Berkeley için çalıştı ama boinc-wiki.info hala bana sorun veriyor: /

PPS:

Ne ile en alakalı sayfaları gibi görünüyor var:

wget -r -k -nv  -l 2 -R jpg,jpeg,png,gif,tif,pdf,ppt http://www.boinc-wiki.info

Süper kullanıcı ile serverfault arasında geçiş yapmaya gerek yok serverfault.com/questions/156045/…
Bryan

Nereye göndermeliydim?
Tie-fighter

burası doğru yer. Bu bir sunucu sorusu değil.
David Z

Hala serverfault daha iyi cevaplar aldım;)
Tie-fighter

Yanıtlar:


5

Wget'in (v.1.14) yeni sürümü tüm bu sorunları çözer.

--reject-regex=....Sorgu dizelerini işlemek için yeni seçeneği kullanmanız gerekir .

Bu yeni seçenekleri içeren yeni kılavuzu bulamadığımı unutmayın, bu nedenle yardım komutunu kullanmanız gerekir wget --help > help.txt


4
wget --reject-regex '(.*)\?(.*)' http://example.com

( --reject-type posixvarsayılan olarak). wgetDiğer yorumlara göre, yalnızca son (> = 1.14) sürümleri için çalışır.

Görüşme --reject-regexbaşına yalnızca bir kez kullanabileceğinizi unutmayın wget. Yani, |birkaç normal ifadeyi seçmek istiyorsanız tek bir normal ifadede kullanmanız gerekir :

wget --reject-regex 'expr1|expr2|…' http://example.com

Sürüm gereksinimi hakkında doğru olabilir. V1.12 vardı ve seçenek geçerli değildi. V1.15'e yükselttikten sonra oldu.
yunzen

|GNU Wget 1.16 ile ("boru") sembolünü kullanan normal ifade değişimi benim için çalışmıyor.
sampablokuper

0
wget -R "*?action=*"

Bu ?action=, adında bulunan her şeyi hariç tutacaktır .


3
"Ayrıca, sorgu dizelerinin (soru işaretiyle başlayan bir URL'nin sonundaki dizeler ('?') Kabul / reddetme kurallarının dosya adının bir parçası olarak dahil edilmediğini unutmayın, ancak bunlar gerçekten seçilen ada katkıda bulunsa da Wget'ın gelecekteki bir sürümünün, sorgu dizeleriyle eşleştirmeye izin verme seçeneği sunması beklenir. "
Tie-fighter

Hmm, bunu kaçırmış olmalıyım. Farklı dosyalar olduklarını bile bilmiyorsa, bunu wget ile yapamazsınız. Farklı bir program öneririm.
Daisetsu

-3

Herkese açık bir wiki sitesini sülük yapmanın kötü bir uygulama olduğunu söyleyebilirim, çünkü ek yük getirir.

Bir wiki herkese açıksa ve site sahipleri içeriği paylaşmayı önemsemiyorsa, genellikle indirilebilir bir arka uç (veritabanı veya herhangi bir şey) dökümü sağlar. Böylece sadece veri paketini indirir, aynı wiki motorunun yerel bir örneğini kurar, verileri içeri aktarır ve yerel bir kopyasına sahip olursunuz. Bundan sonra, isterseniz, sülükleri yerel olarak yapabilirsiniz.


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.