wget ile ilgili küçük bir soru

Başlatan krwlng, 04 Temmuz 2013 - 15:46:17

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

krwlng

Merhaba, bugün boş vaktimde aklıma yarım bıraktığım mangaları okumak geldi, fakat bunları çevrimiçi okumak için her zaman bilgisayar başında veya internet olan yerlerde bulunamıyorum, bu yüzden çevrimiçi okuma hizmeti veren yerlerden mangaları wget -m http://siteadresi/mangaadresi/bölümnumarası

şeklinde indiriyorum, fakat bunu yaparken mangaların medya dosyalarının yanında html dosyaları da iniyor, ben de biraz araştırıp wget -m -A "*.$1" "$2" -P /home/$3/Belgeler/Manga/$4/
yani

wget -m -A ".*jpg" "http://siteadresi/mangaadresi/bölümnumarası" -P /home/krwlng/Belgeler/Manga/Yeni/

şeklinde bir betik yazdım bu betiğe "indir.sh" adını verdim, burada değişkenler sırasıyla "dosya tipi", "hedef adres", "kullanıcı adı" ve hedef dizin olarak belirlendi, buralarda sıkıntı yok, tek sıkıntı, ilk verdiğim komut ile bütün dosyalar inerken, bu yaptığım betik ile sadece o web sayfasındaki tek medyayı indirmesi, yani sadece girdiği sayfadaki içeriği indiriyor, diğer sayfalara geçmiyor. Bu konu hakkında fikri olan varsa yardımlarınızı bekliyorum.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

furkankalkan

wget -r --no-parent --reject "*.html*" http://siteadresi/mangaadresi/bölümnumarası şeklinde deneyebilirsiniz.  "bölümnumarası" adlı dizindeki tüm dosyaları indirir. (htmller haricinde)
Lover
twitter.com/furkan_kalkan1

krwlng

@dewilman, maalesef olmadı, bu komutla sadece html dosyalarını indirdi, onların da sadece 6 tanesini indirdi daha ileri gitmedi. "--no-parent" parametresini kaldırdığım zaman medyaları indirdi fakat 5 medya indirdikten sonra işlemi bitirdi.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

furkankalkan

reject parametresini kendi komutunuzda kullanınca çalışıyor mu ?
Lover
twitter.com/furkan_kalkan1

if

Note that these two options [ -A ve -R'den bahsediyor] do not affect the downloading of html files (as determined by a '.htm' or '.html' filename prefix). This behavior may not be desirable for all users, and may be changed for future versions of Wget.

https://www.gnu.org/software/wget/manual/wget.html#Types-of-Files

Yani -A ve -R seçenekleri html dosyalarını etkilemiyormuş.

krwlng

@dewilman, reject parametresi sizin komutunuzun hariç tutma eylemi olduğu için benim komutta dahil parametresi kullanıldığından işe yaramaz diye düşünüyorum.
@if, benim kullandığım komut dizisinde "-A" kullanıp tek bir dosya tipi belirtince "html" dosyalarını indirmiyor, yani hariç tutma olayında söylediğiniz doğru olabilir, ama dahil etme olayında "html" dosyalarını indirmiyor, sadece belirttiğiniz uzantıyı indiriyor. Normalde indirme olayında sorun yok fakat "-A" parametresi ile indirmeye çalışınca sadece ilk sayfadaki medya dosyasını indirip bitiriyor işlemi, "-A" kaldırınca normal süregelen dizinleri ve dosyaları indiriyor, bu sefer de gereksiz "html" dosyalarını da indiriyor. Aslında çok büyük sorun değil, zaten kategorilere ayırıyor dosyaları bütün "html" dosyalarını tek bir dizini silerek kaldırabiliyorum, ama düşündüğüm işlem olursa da kötü olmaz diye düşündüm.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

if

@krwlng, for ya da while döngüsüne almayı dnediniz mi?

krwlng

@if, işin aslı olayı o boyutlara taşımayı pek düşünmedim çünkü o derece bash bilgim yok, şuan bu şekilde tam indirme yapıp gereksiz dizinleri siliyorum. 
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

if

#!/bin/bash
manga="\"http://siteadresi/mangaadresi/bölümnumarası/*\""
kitaplik="/home/krwlng/Belgeler/Manga/Yeni/"
for dosya in $manga ; do
wget -m -A ".*jpg" $dosya -P $kitaplik
done
denenebilir @krwlng.

krwlng

manga="\"http://siteadresi/mangaadresi/bölümnumarası/*\""
bu kısımda manga bağlantısını girip betiği çalıştırınca "Şema Eksik" uyarısı alıyorum, baştaki "\ ve sondaki /" işaretlerini kaldırınca normal indirecek gibi başlıyor, ilk sayfaya giriyor dizinleri oluşturuyor ve hiçbir dosya indirmeden işlemi sanki normal bitmiş gibi kesiyor. Kodlardan anladığım kadarı ile benim bir önceki yaptığım işlemin adres ve kayıt yerlerinin ayrı bir değişken olarak atanması gibi görünüyor, temelde benim yaptığımdan pek bir farkı yok gibi.

yani wget -m -A ".*jpg" "http://siteadresi/mangaadresi/bölümnumarası" -P /home/krwlng/Belgeler/Manga/Yeni/

burada adres ve kayıt yerlerinin komuta eklenme şekli haricinde bir değişiklik yok gibi anladım ben.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!

if

#10
wget komutuna adresi çift tırnak içinde verdiğiniz için başta ve sonda \ (kaçış karakteri) bulunmakta. Böylece baştaki içinci çift tırnak ile sondaki ilk tırnak manga değişkenine dahil oluyor. Yıldız bölümnumarası altında bulunan tüm dosyaları ifade etsin diye konuldu. Betik, bölümnumarası altında bulunan tüm dosyalar için wget komutunu çalıştıracak şekilde ayarlandı. Bölümnumarasından sonra manganın sayfaları mı  başlıyor yoksa bir kademe daha mı var ondan sonra?

Tabi yanlış bir şeyler yapmış da olabilirim, bash bilgim iyi değildir.

cagriemer

.jpg dosyalarinin adlari bir sekansa uyuyor mu? Ornegin 001.jpg 002.jpg ya da aaa.jpg aab.jpg falan gibi mi gidiyorlar? Uymuyorsalar bile betiginizi biraz degistirip inen dosyalarin dosya tiplerini kontrol ettirdikten sonra imaj olmayanlari silebilirsiniz.

arpia

Başka bir açıdan bakarsak, indir.sh'ın içine html klasörünü silmek için satır ekleyebilirsiniz. Her seferinde silmeniz gerekmez.

krwlng

@if, Oradaki durum aslında şu şekilde, benim belirttiğim ilk sayfa numarasından sonraki sayfa jpg dosyasına bağlantı olarak verilmiş, yani her resme tıkladığınızda bir sonrakine geçiyor, tıklanacak öğe kalmayınca bitiriyor işlemi, sırayla indirmesindeki mantık o şekilde, sizin verdiğiniz komutta, belirttiğim hatayı aldım sonrası önceki iletimde açıkladığım gibi.

@cagriemer, aslında bir sekansa uyuyor, fakat bu değişiklik gösterebiliyor, bir sayfada 00.jpg başlangıç olarak verilmişken diğer dizine geçince ilk dosya 01.jpg veya credits.jpg olabiliyor. İndikten sonra işlem yapmak kolay aslında mangalar ile diğer gereksiz dosyaları ayrı dizinlere indirdiği için sadece gerekli dizini alıp gerisini silmek yetiyor, benim istediğim her seferinde o sayfaya ait gereksiz dosyaları indirip zamandan ve kaynaktan kullanmaması.

@arpia, Sanırım o şekilde yapacağım, şimdilik istediğim dosyaları doğru ve sıralı şekilde indirtmeyi başaramadım, betiğe bir komut ekleyip indirilenleri otomatik sildirtebilirim, ama hiç indirmesin dediğim için silme olayı çok sorun olmuyordu.
http://twitter.com/yusuFBrn

Ali İsmail Korkmaz, FENERBAHÇE Yıkılmaz!