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


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von pegel (Gast)


Bewertung
0 lesenswert
nicht 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) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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) (Moderator) Benutzerseite


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht lesenswert
About Fenster?

So etwas habe ich gar nicht.

Einen Fernseher habe ich auch nicht, deswegen ...

von Dr. Sommer (Gast)


Bewertung
0 lesenswert
nicht 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:

Bewertung
0 lesenswert
nicht 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:

Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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)


Bewertung
0 lesenswert
nicht 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.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.