Forum: PC Hard- und Software feh rekursiv durch http Verzeichnis?


von pegel (Gast)


Lesenswert?

Hallo,

ich nutze gern feh unter Linux um Bilder anzuzeigen.
Dazu schöne Musik von yt.

So lange die Bilder nummeriert sind, ist das auch kein Problem

feh -D5 -F http://......../Bild{1..999}.jpg

Wie mache ich das wenn die Bilder verschiedene Namen haben?
Lokal geht das einfach mit Parameter -r, aber wie von http?

Das schlimmste ist, ich kann mich nicht mehr erinnern, ob ich das schon 
mal geschafft hatte, oder nicht.

So geht es leider nicht:
feh -r 
https://www.highdynamicrangephotos.com/wp-content/flagallery/high-dynamic-range-hdr-photos/


Weiß jemand Rat?

Danke.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

pegel schrieb:
> Wie mache ich das wenn die Bilder verschiedene Namen haben?

Geht nicht, wie soll "feh" herausfinden, wie die Bilder heißen?

http sieht keinen Mechanismus zum Auflisten aller Dateien/Dokumente vor.

von pegel (Gast)


Lesenswert?

Da bin ich mir eben nicht sicher.
wget kann das ja auch:

wget -r 
https://www.highdynamicrangephotos.com/wp-content/flagallery/high-dynamic-range-hdr-photos/

Nur das ich damit alle Bilder zwischenspeichern müsste, was ich 
vermeiden wollte.

von Kommandozeile vor dem Frühstück für Alle! (Gast)


Lesenswert?

> wget -r
> 
https://www.highdynamicrangephotos.com/wp-content/flagallery/high-dynamic-range-hdr-photos/
>
> Nur das ich damit alle Bilder zwischenspeichern müsste, was ich
> vermeiden wollte.

Nein, nicht nötig. Zwischenspeichern (oder durch die Pipe schleusen) 
muss man nur "die Liste" der Bilder. Da dies als HTML daherkommt, sind 
auch die Links zu den Bilder ideal nach konsistenten Muster enthalten.
Mustersuche geht bestens per grep - danach gilt es nur noch die Liste 
aller Links neu zu würfeln und nur noch... oder so.

Ich meine da hat man eine sehr leistungsfähige shell und lässt sie 
bloss Programme starten? Da geht mehr, viel mehr!

von pegel (Gast)


Lesenswert?

Kommandozeile vor dem Frühstück für Alle! schrieb:
> Da geht mehr, viel mehr!

So man kann. ;)

Ist eben genau das Problem, dass die kleinen grauen Zellen immer müder 
werden.
Ich bin mir ja wie gesagt nicht einmal mehr sicher, ob ich das schon mal 
geschafft hatte.
Normalerweise trage ich wichtiges in mein elektronisches Gedächtnis 
ein(CherryTree).
Nur manchmal wenn ich dann im nach hinein dachte, das war ja einfach,
verzichtete ich darauf. Dummerweise.

von Rufus Τ. F. (rufus) Benutzerseite


Lesenswert?

pegel schrieb:
> wget kann das ja auch:

Nur, wenn es eine Liste gibt, d.h. eine Webseite, die alle URLs der 
Bilder enthält. Dann geht das.

Das kann dann jeder übliche Webcrawler.

von Dr. Sommer (Gast)


Lesenswert?

pegel schrieb:
> ich nutze gern feh unter Linux um Bilder anzuzeigen.
> Dazu schöne Musik von yt.

Was ist das denn für eine kuriose Freizeitgestaltung? Sind das so Bilder 
wie in feh's About-Fenster?

von pegel (Gast)


Lesenswert?

About Fenster?

So etwas habe ich gar nicht.

Einen Fernseher habe ich auch nicht, deswegen ...

von Dr. Sommer (Gast)


Lesenswert?

pegel schrieb:
> About Fenster?

Wenn man in "feh" auf "About" klickt(e), erscheint ein Fenster mit 
Informationen über den Autor in dessen Hintergrund eine knapp bekleidete 
Dame dargestellt wurde oder so in der Art. Das dann mit "schöner Musik 
von yt" und der Abend ist gesichert?

von pegel (Gast)


Angehängte Dateien:

Lesenswert?

Gibt es in meinen Programm nicht, siehe Bild.

Und ja, schöne Frauen kommen auch vor.

Aber meist Landschaften und Industrieruinen, möglichst in HDR.
Das beruhigt.

von pegel (Gast)


Angehängte Dateien:

Lesenswert?

Unter File, wie normal üblich, gibt es auch kein About bei mir.

Beitrag #5511517 wurde von einem Moderator gelöscht.
von Kommandozeile vor dem Frühstück für Alle! (Gast)


Lesenswert?

pegel schrieb:
> Kommandozeile vor dem Frühstück für Alle! schrieb:
>> Da geht mehr, viel mehr!
>
> So man kann. ;)

na gut, dann schreibe ich es mal hier auf:
1
DIRURL="https://www.highdynamicrangephotos.com/wp-content/flagallery/high-dynamic-range-hdr-photos/"
2
curl -s "$RURL"  \
3
|  grep -oP '(?<=href\x3d")[^"]+g(?=")'  \
4
|  while read FNAME
5
   do  printf "${DIRURL}${FNAME}\n"
6
   done  \
7
| feh  --randomize  --filelist -  &

Das ist nun alles durch eine Pipe ganz ohne zwischendateien.
Auch habe ich curl eingesetzt weil ich grad zu faul bin die Verwendung 
von wget nachzuschlagen (geht aber bestimmt auch).

Dank der Option --filelist von feh muss man aber nicht jedes Mal die 
Liste der Bilder online holen: man kann in einer lokalen Datei beliebig 
viele Bilder listen; ich hoffe doch wohl URLs UND lokale Dateipfade 
gemischt.

Erlaeuterung zur eingesetzten PCRE
1
(?<=href\x3d")[^"]+g(?=")
1
(?<=href\x3d")  # vorangehende Zeichenkette 'h''r''e''f''=''"', nicht Teil des Ergebnisses
2
[^"]+        # beliebige Folge von mindestens 1 Zeichen ausser '"'
3
g            # da muss ein 'g' kommen weil nur jpe_g/jp_g/pn_g interessiert
4
(?=")        # nachfolgende Zeichenkette '"', nicht Teil des Ergebnisses


Das '\x3d' ist gekünstelt weil die ForenSW hier "href" gefolgt von "=" 
wg. Spamverdacht nicht durchlaesst :-[

von Dr. Sommer (Gast)


Lesenswert?

Es ist schon sehr lange her dass ich feh zum letzten Mal benutzt hab, 
und hab es auch grad nicht zur Hand. Aber so sieht/sah das aus:
http://www.tuxmachines.org/images/blfsp3/feh.jpg
Das Bild ist/war auch irgendwie animiert wenn man mit der Maus drüber 
ging. Vielleicht wurde das ja auch in den Paketen von Distributionen 
zensiert, wer weiß. Dein Text mit "Bilder im Internet mit feh gucken und 
dabei Musik hören" weckte da schräge Assoziationen :)

von pegel (Gast)


Lesenswert?

Kommandozeile vor dem Frühstück für Alle! schrieb:
> na gut, dann schreibe ich es mal hier auf:

Danke.
Auch auf die Gefahr hin mich jetzt zu blamieren, aber es funktioniert 
bei mir so nicht.

feh: No loadable images specified.
See 'man feh' for detailed usage information

Ich habe es direkt an der Kommandozeile probiert und auch ein 
ausführbares script daraus gemacht.

Wie kann ich vorgehen um das Problem zu finden?

von pegel (Gast)


Lesenswert?

Dr. Sommer schrieb:
> Dein Text mit "Bilder im Internet mit feh gucken und
> dabei Musik hören" weckte da schräge Assoziationen :)

Es soll Zeiten gegeben haben, in denen die Leute sogar ohne Bilder 
einfach so im Sessel gesessen und Musik gehört haben.

Ist aber vermutlich heute nicht mehr üblich, man muss mindestens noch 
gleichzeitig mit dem Handy spielen. :)

von Dr. Sommer (Gast)


Lesenswert?

pegel schrieb:
> Ist aber vermutlich heute nicht mehr üblich, man muss mindestens noch
> gleichzeitig mit dem Handy spielen. :)

Klar, die schlauen uc.net -Beiträge schreiben sich nicht von selbst! :P

von Kommandozeile vor dem Frühstück für Alle! (Gast)


Lesenswert?

> Auch auf die Gefahr hin mich jetzt zu blamieren, aber es funktioniert
> bei mir so nicht.

Die Blamage ist bei mir: da fehlen ein paar Buchstaben beim 
Variablennamen.

> Wie kann ich vorgehen um das Problem zu finden?
Nicht blind abschreiben / copypasten, MITDENKEN!

Welche Variablen siehst Du? Wie heissen sie? Wozu werden sie benutzt?

Da es eine mehrstufige Pipe ist, kannst v.l.n.r. mit dem ersten 
Abschnitt beginnen und zuschauen was dabei rauskommt; immer nur 1 weiter 
Stufe hinzufügen.

von pegel (Gast)


Lesenswert?

Danke!
Wenn das aufgerufene Verzeichnis die Dateien auflistet, funktioniert es 
jetzt wie gewünscht.

Ich habe eine ausführbare feh.sh erstellt mit dem Inhalt:
1
DIRURL=$1
2
curl -s "$DIRURL"  \
3
|  grep -oP '(?<=href\x3d")[^"]+g(?=")'  \
4
|  while read FNAME
5
   do  printf "${DIRURL}${FNAME}\n"
6
   done  \
7
| feh -D7 -F -d --randomize  --filelist -  &

Diese rufe ich auf mit:
1
./feh.sh https://www.highdynamicrangephotos.com/wp-content/flagallery/high-dynamic-range-hdr-photos/

Das macht genau was ich möchte.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.