Script pro stažení fotky dne z National Geography

[singlepic id=714 w=120 h=70 float=right]Při sobotě si dáme něco pro odlehčení, takovou malou vychytávku, určenou milovníkům fotografií přírody a dění v ní. Jedná se o skript pro stažení fotografie dne ze stránek National Geography. Pokud nevíte, o co se jedná, můžete se podívat na stránku National Geography s fotkou dne přímo. Spustíte-li tento skript, automaticky se stáhne fotografie dne do složky ~ /Obrázky a přejmenuje se na „today_ngeo.jpg“ (můžete si snadno změnit složku pro ukládání i název obrázku malou úpravou skriptu). Zde je kompletní, původní script z GitHub, účet patří jeho autorovi s nickem joshscheuder:

 

#!/bin/bash  
 # Copyright (c) 2011 Josh Schreuder  
 # http://www.postteenageliving.com  
 #  
 # Permission is hereby granted, free of charge, to any person obtaining a copy  
 # of this software and associated documentation files (the "Software"), to deal  
 # in the Software without restriction, including without limitation the rights  
 # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell  
 # copies of the Software, and to permit persons to whom the Software is  
 # furnished to do so, subject to the following conditions:  
 #  
 # The above copyright notice and this permission notice shall be included in  
 # all copies or substantial portions of the Software.  
 #  
 # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR  
 # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,  
 # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE  
 # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER  
 # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,  
 # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN  
 # THE SOFTWARE.  
 # ********************************  
 # *** OPTIONS  
 # ********************************  
 # Set this to 'yes' to save a description (to ~/description.txt) from ngeo page  
 GET_DESCRIPTION="yes"  
 # Set this to the directory you want pictures saved  
 PICTURES_DIR=~/Pictures  
 # ********************************  
 # *** FUNCTIONS  
 # ********************************  
 function get_page {  
   echo "Downloading page to find image"  
   wget http://photography.nationalgeographic.com/photography/photo-of-the-day/ --quiet -O- 2> /dev/null |  
   grep -m 1 http://images.nationalgeographic.com/.*.jpg -o > /tmp/pic_url  
 }  
 function clean_up {  
   # Clean up  
   echo "Cleaning up temporary files"  
   if [ -e "/tmp/pic_url" ]; then  
     rm /tmp/pic_url  
   fi  
 }  
 # ********************************  
 # *** MAIN  
 # ********************************  
 echo "===================="  
 echo "== NGEO Wallpaper =="  
 echo "===================="  
 # Set date  
 TODAY=$(date +'%Y%m%d')  
 # If we don't have the image already today  
 if [ ! -e ~/Pictures/${TODAY}_ngeo.jpg ]; then  
   echo "We don't have the picture saved, save it"  
   get_page  
   # Got the link to the image  
   PICURL=`/bin/cat /tmp/pic_url`  
   echo "Picture URL is: ${PICURL}"  
   echo "Downloading image"  
   wget --quiet $PICURL -O $PICTURES_DIR/${TODAY}_ngeo.jpg   
 # Else if we have it already, check if it's the most updated copy  
 else  
   get_page  
   # Got the link to the image  
   PICURL=`/bin/cat /tmp/pic_url`  
   echo "Picture URL is: ${PICURL}"  
   # Get the filesize  
   SITEFILESIZE=$(wget --spider $PICURL 2>&1 | grep Length | awk '{print $2}')  
   FILEFILESIZE=$(stat -c %s $PICTURES_DIR/${TODAY}_ngeo.jpg)  
   # If the picture has been updated  
   if [ $SITEFILESIZE != $FILEFILESIZE ]; then  
     echo "The picture has been updated, getting updated copy"  
     rm $PICTURES_DIR/${TODAY}_ngeo.jpg  
     # Got the link to the image  
     PICURL=`/bin/cat /tmp/pic_url`  
     echo "Downloading image"  
     wget --quiet $PICURL -O $PICTURES_DIR/${TODAY}_ngeo.jpg      
   # If the picture is the same  
   else  
     echo "Picture is the same, finishing up"  
   fi  
 fi  
 clean_up  

 

Stačí jen zkopírovat a vložit tento skript do souboru, vytvořeného v textovém editoru (např. Gedit) a označit jej jako spustitelný. Poté, kdykoliv jej spustíte, bude fotka dne stažena do vaší složky Obrázky.

Poznámka:  Chcete-li, aby byl tento skript spustitelný, stačí otevřít terminál a zadat:

user@computer:$ sudo chmod +x /cesta/ke/skriptu

 

Tento skript stáhne fotografii dne v rozlišení 800x600px. Pokud chcete stáhnout fotku např. v rozlišení 1600x1200px s vodoznakem National Geography, pak stačí upravit řádek #37 ve skriptu takto:

grep -m 1 http://images.nationalgeographic.com/.*1600x1200.*.jpg -o > /tmp/pic_url

Chcete-li pak automaticky každý den spouštět tento skript a mít tak pravidelný přísun nových fotografií, zadejte si příkaz pro jeho spuštění do Aplikací spouštěných při přihlášení. A na závěr fotografie z dnešního dne:

[singlepic id=715 w=420 h=340 float=center]

Štítky .Záložka pro permanentní odkaz.

Jedna reakce na Script pro stažení fotky dne z National Geography

  1. e? říká:

    cześć
    niby te języki podobne…
    wywodzą się z jednego wspólnego ojca, ale jak ja próbuję czytać to nic nie rozumiem ;p
    aha.
    ubuntu jest lepsze.