externe Bildquelle für Bildschirmschoner

Dieses Thema im Forum "Sonstiges" wurde erstellt von flugopa, 17.08.2008.

  1. #1 flugopa, 17.08.2008
    flugopa

    flugopa Der lernwillige

    Dabei seit:
    27.05.2006
    Beiträge:
    739
    Zustimmungen:
    0
    Ort:
    München
    Hallo,

    würde gern mal andere (Weltraum oder HDR) Bilder auf dem Bildschirmschoner sehen.
    Wie würdet Ihr vorgehen?
    Manuell "search & download" ... keine Lust.
    Mir reichen 3 Bilder pro Tag (im Idealfall 1680x1050)
    OS = CentOS5.2

    Suche also freie Fotoquelle mit ftp, http oder rsync Anbindung.
    Evtl. hat das schon einer im Einsatz?
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 schwedenmann, 17.08.2008
    Zuletzt bearbeitet: 17.08.2008
    schwedenmann

    schwedenmann Foren Gott

    Dabei seit:
    18.11.2003
    Beiträge:
    2.635
    Zustimmungen:
    2
    Ort:
    Wegberg
  4. yai

    yai yet another idiot

    Dabei seit:
    22.01.2007
    Beiträge:
    166
    Zustimmungen:
    0
    Hi
    Hubble Bilder gibts bei http://hubblesite.org/gallery/wallpaper/ allerdings max. 1280x1024. Kannst auch'n Skript haben, das sich durch die HTML-Seiten grep't und alle runterlädt.
    Tschöö,
    yai.
     
  5. #4 flugopa, 26.11.2008
    flugopa

    flugopa Der lernwillige

    Dabei seit:
    27.05.2006
    Beiträge:
    739
    Zustimmungen:
    0
    Ort:
    München
    Vielen Dank für die Nachrichten.

    Hallo yai,

    wenn Du mir das Script senden/schicken kannst, wäre das super.

    Flugopa
     
  6. yai

    yai yet another idiot

    Dabei seit:
    22.01.2007
    Beiträge:
    166
    Zustimmungen:
    0
    Hi,
    kann's ich auch hier reinposten, den üblichen Disclaimer setze ich mal voraus (steht ja auch drin: use@ownrisc ;.)
    oben musste noch den Pfad zu deinem Perl eintragen und die Größe.
    Viel Spaarss.
    Code:
    #!/opt/ActivePerl-5.8/bin/perl
    # hubble.pl:
    # collect hubble wallpaper jpg's
    # use@ownrisc
    
    use strict;
    use warnings;
    use LWP::UserAgent;
    use HTTP::Response;
    
    ### configure parameters below
    my $proxy = $ENV{http_proxy} || "";
    my $size = 0;           # 0: 640x480 1: 800x600 2: 1024x768 3: 1280x1024
    ### nothing to be changed below this line
    
    # initialize variables
    my %subdir = (
            0 => "640",
            1 => "800",
            2 => "1024",
            3 => "1280");
    my $base = "http://hubblesite.org/gallery/wallpaper/";
    
    # here we go:
    ( -d $subdir{$size} ) || mkdir $subdir{$size};
    my $ua = ua_connect();
    for my $i (1 .. 6) {
      my $page = $base . "+$i";
      get_page($ua, $page);
    }
    # end.
    
    # define subroutines
    # get an html page and extract URLs pointing to jpg's
    sub get_page {
      my $ua = shift;
      my $page = shift;
      my $content = get_content($ua, $page);
      my @content = split(/\n/, $content);
      for (@content) {
        if (/<div><a href="pr(\d{4})\d{1}(\d{2})(\w{1})\/">/) {
          my $file = "http://imgsrc.hubblesite.org/hu/db/$1/$2/images/$3/formats/$subdir{$size}_wallpaper.jpg";
          my $filename = "$subdir{$size}/pr$1$2$3.jpg";
          if ( ! -f $filename ) {
            print "Downloading: $filename\n";
            my $pict = get_content($ua, $file);
            open (FD, ">$filename");
            print FD $pict;
            close FD;
          }
        }
      }
    }
    # get contents from a given URL
    sub get_content {
      my $ua = shift;
      my $url = shift;
      my $request = HTTP::Request->new(GET => $url);
      $request->content_type('application/x-www-form-urlencoded');
      $request->header(Accept => "text/xml,application/xml,application/xhtml+xml,text/html,*/*;q=0.1");
      my $response = $ua->request($request);
      if ($response->is_success) {
        my $answer = $response->content;
      } else {
        print "Error: " . $response->status_line . "\n";
      }
      return $response->content;
    }
    # open new connection (create new user agent)
    sub ua_connect {
      my $agent = LWP::UserAgent->new;
      $agent->agent("Mozilla/5.0");
      $agent->proxy('http', $proxy);
      return $agent;
    }
    # That's it.
    
     
  7. #6 flugopa, 26.11.2008
    flugopa

    flugopa Der lernwillige

    Dabei seit:
    27.05.2006
    Beiträge:
    739
    Zustimmungen:
    0
    Ort:
    München
    Hi,

    Skript hat funktioniert, aber die Qualität der Bilder wurde wahrscheinlich absichtlich verschlechtert.

    Wer kennt noch andere Seiten mit sehr guter Bildqualität (jedes Bild min 5 MByte)?
     
  8. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  9. yai

    yai yet another idiot

    Dabei seit:
    22.01.2007
    Beiträge:
    166
    Zustimmungen:
    0
    Hi Flugopa,
    bei hubblesite.org gibt's die Bilder jetzt auch in größerer Auflösung, aber nicht unbedingt in besserer Qualität, bis 2560x1024 Pixels. Natürlich ändern sich dann die Pfade, deshalb hier nochmal das angepasste Skript, falls du die Bildchen haben willst.
    Code:
    #!/usr/bin/perl
    # hubble.pl:
    # collect hubble wallpaper jpg's
    # use@ownrisc
    
    use strict;
    use warnings;
    use LWP::UserAgent;
    use HTTP::Response;
    
    ### configure parameters below
    my $proxy = $ENV{http_proxy} || "";
    my $size = 8;		# 0: 640x480 1: 800x600 2: 1024x768 3: 1280x1024 ...
    ### nothing to be changed below this line
    
    # initialize variables
    my %subdir = (
    	0 => "640",
    	1 => "800",
    	2 => "1024",
    	3 => "1280",
    	4 => "1152x864",
    	5 => "1280x768",
    	6 => "1280x800",
    	7 => "1280x960",
    	8 => "1440x960",
    	9 => "1680x1050",
    	10 => "1920x1200",
    	11 => "2048x1280",
    	12 => "2560x1024",
    );
    
    my $site = "http://hubblesite.org";
    my $base = "http://hubblesite.org/gallery/wallpaper/";
    # here we go:
    ( -d $subdir{$size} ) || mkdir $subdir{$size};
    my $ua = ua_connect();
    #for my $i (1 .. 6) {
    #  my $page = $base . "+$i";
      my $page = $base;
      get_page($ua, $page);
    #}
    # end.
    
    # define subroutines
    # get an html page and extract URLs pointing to jpg's
    sub get_page {
      my $ua = shift;
      my $page = shift;
      my $content = get_content($ua, $page);
      my @content = split(/\n/, $content);
      for (@content) {
        if (/<a id="pr(\d{4})\d(\d{2})([a-z])"/) {
          my $file = "http://imgsrc.hubblesite.org/hu/db/images/hs-$1-$2-$3-$subdir{$size}_wallpaper.jpg";
          my $filename = "$subdir{$size}/pr$1$2$3.jpg";
          if ( ! -f $filename ) {
            print "Downloading: $filename\n";
            my $pict = get_content($ua, $file);
            open (FD, ">$filename");
            print FD $pict;
            close FD;
          }
        }
      }
    }
    # get contents from a given URL
    sub get_content {
      my $ua = shift;
      my $url = shift;
      my $request = HTTP::Request->new(GET => $url);
      $request->content_type('application/x-www-form-urlencoded');
      $request->header(Accept => "text/xml,application/xml,application/xhtml+xml,text/html,*/*;q=0.1");
      my $response = $ua->request($request);
      if ($response->is_success) {
        my $answer = $response->content;
      } else {
        print "Error: " . $response->status_line . "\n";
      }
      return $response->content;
    }
    # open new connection (create new user agent)
    sub ua_connect {
      my $agent = LWP::UserAgent->new;
      $agent->agent("Mozilla/5.0");
      $agent->proxy('http', $proxy);
      return $agent;
    }
    # That's it.
    
    bye,
    yai.
     
  10. #8 flugopa, 13.03.2009
    flugopa

    flugopa Der lernwillige

    Dabei seit:
    27.05.2006
    Beiträge:
    739
    Zustimmungen:
    0
    Ort:
    München
    Hallo yai,

    vielen Dank für die Info und das Skript.
    Du hast Recht, was die Bildqualität betrifft.

    Für große in hoher Bildquälität sind wahrscheinlich
    HDR-Bilder (Technik: das gleiche Bild mehrfach mit
    unterschiedliche Einstellungen aufgenommen) das
    richtige für mich.

    Noch ein Verbesserungsvorschlag für Dein Skript:
    Option: lade keine Dateien unter 5 MB.
     
Thema:

externe Bildquelle für Bildschirmschoner

Die Seite wird geladen...

externe Bildquelle für Bildschirmschoner - Ähnliche Themen

  1. Externes Programm mit Script ausführen?

    Externes Programm mit Script ausführen?: Hallo, ich würde gern ein Script zum klonen von festplatten schreiben z.B. mit dem Programm Mondo Rescue. Ist es möglich externen Programmen...
  2. Kurztipp: Eigene externe IP-Adresse herausfinden

    Kurztipp: Eigene externe IP-Adresse herausfinden: Man kann uPNP nutzen, um am eigenen Router die aktuelle externe IP-Adresse abzufragen. Weiterlesen...
  3. Displayport + externer Monitor zeigt bei startx nichts erst bei DVI

    Displayport + externer Monitor zeigt bei startx nichts erst bei DVI: Hallo ich habe auf meinem ThinkPad T420 i5 Intel HD3000 Grafikkarte onboard 16 GB RAM OpenBSD snapshot amd64 ist von märz installiert...
  4. Linux-Treiber für externe Festplatte von Intenso?

    Linux-Treiber für externe Festplatte von Intenso?: Hallo, an Weihnachten hat es jemand gut mit mir gemeint und mir die externe Festplatte Intenso Memory Center 3.5" mit 3TB geschenkt. Unter...
  5. Ordner auf der externen Festplatte spiegeln.

    Ordner auf der externen Festplatte spiegeln.: Hallo, mit welchem Programm kann ich Ordner oder auch ganz interne Platten auf einer externen Festlplatte spiegeln? Allerdings nicht einfach...