Picasa Album Downloader

A napokban megkért egy ismerősöm, hogy mentsek le neki néhány albumnyi képet az egyik barátnője honlapjáról. Mint kiderült, a barátnő Picasa-n tárolja a képeket. Mivel kiderült, hogy többszáz képet kellene letölteni, úgy gondoltam, keresek hozzá valami scriptet. Ám ilyet nem találtam (bár nem sokat kerestem :)), ezért írtam egyet magamnak. Mivel a php-hoz "értek" a legjobban, így abban írtam meg. Ez lett az eredmény:


<!--
Szerző: B@T

Ezt a php scriptet localhoston, böngészőben kell futtatni,
és az url paraméteren keresztül adható meg az album címe.
A képek a script könyvtárában létrehozott, az album nevére
elnevezett könyvtárba lesznek letöltve.
A képek fileneve nem változik.
//-->
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-2" http-equiv="content-type">
<title>Picasa Album Downloader</title>
</head>
<body>
<?php
$url=$_GET["url"];
if($url=="")
{
	print("Ezt írd a címsorba: <tt>http://".$_SERVER["SERVER_NAME"].
		$_SERVER["PHP_SELF"]."?url=<i>az_album_webcíme</i></tt>");
	exit;
}
$temp=explode("/",$url);
$dir=$temp[count($temp)-1];
if(!file_exists($dir))
{
	mkdir($dir);
}
else
{
	print("Ez a könyvtár (<tt>".realpath($dir)."</tt>) már létezik.
		Mindegy, folytatom...<br>"); // ;-)
}
$file=file_get_contents($url);
preg_match_all("/s\:\".*\",l/",$file,$matches);
for($i=0;$i<count($matches[0]);$i++)
{
	$matches[0][$i]=substr(str_replace("\\x2F","/",$matches[0][$i]),3,-3);
	$temp=explode("/",$matches[0][$i]);
	$matches[0][$i]=$temp[0];
	for($j=1;$j<count($temp);$j++)
	{
		if($j!=count($temp)-2)
		{
			$matches[0][$i].="/".$temp[$j];
		}
	}
	copy($matches[0][$i],$dir."/".iconv("UTF-8","ISO-8859-2",urldecode($temp[count($temp)-1])));
//Az iconv függvény kivehető utf8-as rendszerek esetén.
}
print("A képeket mentettem az alábbi könyvtárba: <tt>".realpath($dir)."</tt>");
?>
</body>
</html>

(Esetleges csúnya hibákra a php guruk rámutathatnak a fejlődésem érdekében. :))

Aki akarja, átírhatja, vagy portolhatja más nyelvre (perl, vagy ilyesmi), vagy azt csinál vele, amit akar. Remélem másnak is hasznos lesz ez a kis script.

Hozzászólások

Az mitől van, hogy az összefoglaló blog-oldalon (http://hup.hu/blog) összeolvad a te bejegyzésed a dacaséval? Drupal és a PHP-kódod összeakadt valamiképpen? :)

Megvan, a kód elején levő megjegyzés volt a bűnös. De azt hiszem, pont most módosította az egész bejeyzést trey is, mivel nekem nem engedi módosítani. :)

Ja, és elnézést a kellemetlenségért...

nem lett volna egyszerubb feltenni a Picasa programot amivel lementheted a képeket?
________________________
Blog

nem, legalábbis nálam mukodik. picasa a googletol letöltöt deb csomagbol lett felrakva, meg firefox a tárolokbol.

bár, nem értem, hogy mit beszelsz itt wines picasarol, arra gondolsz, hogy a sima windowsos verziot rakod fel, vagy arra, hogy a linuxosat?
________________________
Blog

a googlenek van kulon taroloja is.

deb http://dl.google.com/linux/deb/ stable non-free

Amugy a Picasa linux esetén egy előre bekonfiguralt wines picassa, plusz egy elore bekonfiguralt saját wine.

Amugy nem koveteli, hanem használja:

This software uses these open source technologies

meg a mozzillat is, pontosabban a gecko motort.
________________________
Blog