Google Image Scraping Class - Tomt array
Kaere eksperter,Jeg proeve at faa en google image scraping class til at virke, som skal returnerer links til billeder ud fra et givent soegeord.
Classen ser saaledes ud:
<?php
class GoogleImages
{
/**
* getImages : Returns an array containing a thumbnail link, fullsize image link
* and ALT text link for specified keyword
*
*/
function getImages($keyword)
{
$pics = array();
$searchURL = 'http://images.google.com/images?svnum=10&um=1&hl=en&safe=off&q=';
$searchURL .= urlencode($keyword) . '&btnG=Search+Images"';
$results = file_get_contents($searchURL);
preg_match_all('/dyn.Img.*?;/', $results, $string, PREG_SET_ORDER );
$x=0;
foreach($string as $img)
{
$image = explode(',', str_replace("\"",'',$img[0]));
// Create array based on size
if (count($image)==16)
{
$pics[$x][thumb] = $image[13] . '?q=tbn:' . $image[2] . $image[3];
$pics[$x][alt] = str_replace('...','',str_replace('\x3cb\x3e','',(str_replace('\x3c/b\x3e','',$image[6]))));
$pics[$x][link] = $image[4];
}
if (count($image)==17)
{
$pics[$x][thumb] = $image[14] . '?q=tbn:' . $image[2] . $image[3];
$pics[$x][alt] = str_replace('...','',str_replace('\x3cb\x3e','',(str_replace('\x3c/b\x3e','',$image[6]))));
$pics[$x][link] = $image[3];
}
if (count($image)==18)
{
$pics[$x][thumb] = $image[15] . '?q=tbn:' . $image[2] . $image[3];
$pics[$x][alt] = str_replace('...','',str_replace('\x3cb\x3e','',(str_replace('\x3c/b\x3e','',$image[6]))));
$pics[$x][link] = $image[3];
}
$x++;
}
shuffle($pics);
return $pics;
}
}
?>
Jeg proever derefter at kalde classen saaledes:
<?
$keyword = "coffee";
$search = new GoogleImages;
$pics = $search->getImages($keyword);
print_r($pics);
?>
Men hver gang returnerer den blot et tomt array.
Jeg maa indroemme jeg ikke er ekspert paa det her class/function omraade, saa vil saette pris paa hvis der var nogen der kan komme med en forklaring.
Paa forhaand tak!
