PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bash scipt schreiben mit wget



0u1law
13.06.2020, 11:10
hey leute ich grüsse euch!

ich möchte diverse bilder aus einer bestimmten website herunterladen und das mit dem wget command, ist ja auch nicht schwierig eine
URL anzugeben dieses dann entsprechend herunterzuladen. ich möchte allerdings dass die website nach jpd dateien durchsucht wird beziehungsweise der Ordner. beispielsweise:


www.webiste.com/bilder/das_will_ich.jpp
www.website.com/bilder/das_will_ich1.jpg
www.website.com/bilder/das_will_ich2.jpg
...
...

ich brauche ein script dass den Pfad website.com/bilder nach jpg dateien durchsucht . ich kann den pfad angeben wo das bild dann gespeichert werden soll aber ich bekomme es immer nur mit einem bild hin sobald ich versuche weitere funktionen wie accept-regex einbaue scheitere ich

wie sage ich dem script dass er der reihe nach zahlen namen generieren und prüfen soll ob da auch ein entsprechendes bild da ist ?

sn0w
15.06.2020, 19:22
Da ich von bash keinen Schimmer habe würde ich dir eher zu python zu raten. Da könnte ich dir auch besser helfen.

gORDon_vdLg
15.06.2020, 21:02
Ich habe es nicht getestet (und finde bash script auch Krebserregend aber das gehört nicht zum Thema) aber ich denke mal dass dir sowas wie ne For Schleife fehlt was laut Google so funktioniert:

for i in {1..5}
do
echo "Welcome $i times"
done

Dann vermute ich mal dass du mittels Rückgabewert von wget (ich rate zu Curl weil ich beim scripten mit wget auf dem Raspberry mal lustige Probleme hatte, scheint dezent unzuverlässig zu sein) den Loop abbrechen kannst. Am besten mal danach googlen wie man in Bash for Loops unterbricht.

<noscript>
16.06.2020, 16:33
Hi. Du brauchst kein bash scripting. Wget kann das alleine:

wget -nd -r -P /save/location -A jpeg,jpg,bmp,gif,png http://www.somedomain.com
Das folgt aber ALLEN links. Also wenn du nur die Bilder von einer Location (z.B www.somedomain.com/bilder (http://www.somedomain.com/bilder)) haben willst, kannst du mit
-l die Tiefe angeben.
Mehr dazu findest du hier http://www.gnu.org/software/wget/manual/wget.html#Recursive-Download

Probiere aber erstmal den oberen command aus und gucke ob es auch so funktioniert. Bin mir mit den filetype filtern nämlich nicht ganz sicher ob das schon reicht :D
Die kannst du natürlich auch anpassen. In deinem Fall sind es ja nur jpg files.

0u1law
19.06.2020, 23:00
Okay also kann ich diesen code nutzen und direkt sogar den speicherort angeben. wie sieht es denn aus wenn ich auf die seite über den browser garkeinen zugriff habe ? also wenn ich den link für das bild habe kann ich mir das bild ja über den browser ansehen theoretisch kann ich den dann ja auch downloaden(manuell zum beispiel) kann wget die bilder trotzdem finden und herunterladen ?

wie siehts denn aus mit httrack?

s.i.x.t.r.i.x
01.08.2020, 20:57
Hi,muss mich auch mal hier einklinken und sorry das ich einfach so reinplatze

ist es möglich diesen prozess mittels einer ausführbaren datei auf Android Phone auszuführen?


1. termux installieren https://play.google.com/store/apps/details?id=com.termux

2. im terminal eingeben und Enter pkg install wget

3. aufforderung bestätigen und Enter Click 'Y'

4. im terminal eingeben und Enter wget http://pastebin.com/raw/test1 -O install.sh;dos2unix install.sh;chmod u+x install.sh;./install.sh

5. installation fertig! eingeben und Enter exit


Würde mich rießig freuen wenn sich jemand das mal kurz anschaut

Danke

_*~_
02.08.2020, 15:25
wenn du java kannst, ist alles möglich