Hämta filer med Lua och wget

19Oct07

Kristian skrev i sin blogg på Linuxportalen.se om ett python script för att hämta hem några låtar från en hemsida. När vi satt och diskuterade, gnällde han lite på att mitt script i php för att hämta bilder var lite lång. Givetvis har han ganska rätt, men min php kod gör lite mer än att bara hämta bilder. Hur som så här är en ny kortare (och mindre avancerad) version skriven i Lua, bara för skojs skull. Det går lika lätt att skriva det hela i bash😉

Kräver att wget är installerat (och Lua givetvis).

#!/usr/bin/env lua
-- Desc: Litet behändigt script som laddar ner mp3or med wget
-- Coder: Fredrik Persson
-- E-mail: perrascout@linux.se
-- Download/webpage: http://www.shell.linux.se/perra/blog
-- Licens: BSD
url = "wget http://localhost/d50/"
i=0
repeat
j=0
repeat
os.execute(string.format("%s%i%s%i%s", url, i, "/", j, ".mp3" ))
j=j+1
until j > 10
i=i+1
until i>10

Behöver man en katalogstruktur från tex 001 -> 010 i stället för 1- > 10 som exemplet ovan kan man göra så här.

os.execute(string.format("%s%03i%s%03i%s", url, i, "/", j, ".mp3" ))

“%03i” Skapar en formaterad sträng på tre tecken, är den ursprungliga strängen färe än tre tecken blir de inledande tecknena nollor i detta fallet.

Gillar man inte lua kan man lika bra använda Bash så här:
#!/bin/bash
# Desc: Litet behändigt script som laddar ner mp3or med wget
# Coder: Fredrik Persson
# E-mail: perrascout@linux.se
# Download/webpage: http://www.shell.linux.se/perra/blog
# Licens: BSD
declare -i i
declare -i j
url="http://loclhost/d50"
i=0
while [ $i -lt 10 ]
do
j=0
while [ $j -lt 10 ]
do
wget $url/$i/$j".mp3"
j=$j+1
done
i=$i+1
done

Jag tar inget ansvar för hur dessa scripten används. De är skrivna i syftet att demonstrera kod, INTE FÖR OLAGLIGA ÄNDAMÅL.

//Fredrik



No Responses Yet to “Hämta filer med Lua och wget”

  1. Leave a Comment

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: