SADECE HTML dosyalarını indirmek için wget kullanarak tarama (görüntüleri, css, js yoksay)


14

Aslında, tüm bir siteyi Wget ile taramak istiyorum, ancak ASLA diğer varlıkları (ör. Görüntü, CSS, JS, vb.) İndirmem gerekiyor. Yalnızca HTML dosyalarını istiyorum.

Google aramaları tamamen işe yaramaz.

İşte denediğim bir komut:

wget --limit-rate=200k --no-clobber --convert-links --random-wait -r -E -e robots=off -U "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/32.0.1700.102 Safari/537.36" -A html --domain=www.example.com http://www.example.com

Sitemiz hibrit düz PHP ve CMS'dir. Yani, HTML "dosyalar" olabilir /path/to/page, /path/to/page/, /path/to/page.php, veya /path/to/page.html.

Ben bile dahil ettik -R js,cssama yine de dosyaları indirir, SONRA onları reddeder (bant genişliği, CPU ve sunucu yükünün anlamsız israfı!).


2
şu ana kadar denediğin komut nedir? Dosyaların adlandırılması tutarlıysa, -R bayrağını kullanabilmeniz gerekir. Alternatif olarak, --ignore-tags bayrağını kullanabilir ve kod ve img etiketlerini yoksayabilirsiniz.
ernie


Ben --accept = html kullanmayı denedim, ancak onları sildikten sonra CSS dosyalarını indirir. Onları hiç indirmelerini önlemek istiyorum. Bir üstbilgi isteği iyi olsa da - Örn Length: 558 [text/css]. İstemediğim dosyaları fark ediyorum. Eğer başlık geri dönmezse isteği durdurabilirsem text/htmlsevinirim.
Nathan JB

Yanıtlar:


13

@ ernie'nin --ignore-tagsbeni doğru yola götürme hakkındaki yorumu ! Yukarı baktım zaman --ignore-tagsiçinde manfark ettim --follow-tags.

Ayar --follow-tags=abeni atlamak için izin img, link, scriptvb

Aynı cevabı arayan bazı insanlar için muhtemelen çok sınırlı, ama aslında benim durumumda iyi çalışıyor (birkaç sayfayı özlediğimde sorun yok).

Herkes TÜM etiketlerin taranmasına izin vermenin bir yolunu bulursa, ancak wgetdosyaları yalnızca indirildikten sonra reddetmesini önlerse (indirmeden önce dosya adına veya Başlık türüne göre reddetmelidirler), cevaplarını çok mutlu kabul edeceğim!


5

seçenekleri eklemeye ne dersiniz:

--reject '*.js,*.css,*.ico,*.txt,*.gif,*.jpg,*.jpeg,*.png,*.mp3,*.pdf,*.tgz,*.flv,*.avi,*.mpeg,*.iso'
--ignore-tags=img,link,script 
--header="Accept: text/html"
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.