aan alle goede dingen komt een eind, webmasterplein.net 2003 - 2013
wij danken jullie voor al mooie momenten die dankzij dit forum ontstonden - Derk, Rutger en Stef

[php] Google Image downloader

Deel alles wat je delen kan, gebruik het voor opslag, plaats het omdat je er trots op bent of creëer samen wat moois!

[php] Google Image downloader

Berichtdoor Remi » 15 okt 2010 10:21

Code: Selecteer alles
<?php
function downloadImagesGoogle
($criteria, $map){
    $search = str_replace(' ','+',$criteria);
    $images = array();
    $return = array();
    $dom = new DOMDocument();
    @$dom->loadHtmlFile('http://www.google.nl/images?q='.$search.'&biw=1220&bih=994');
    $xpath = new DOMXPath( $dom );
    $links = $xpath->query( '//img' );

    foreach ( $links as $link )
    {
        $expl= explode(':', $link->getAttribute( 'src' ));
        if(isset($expl[3])){
            $images[] = $expl[3].':'.$expl[4] ;
        }
    }
    $dom = NULL ;
    if(!file_exists($map)){
        mkdir($map);
    }
    
    if
(count($images) > 0){
    for($i = 0; $i < count($images); $i++){
        if(isset($images[$i])){
        $explode = explode('.',$images[$i]);
        $extension = $explode[(count($explode)-1)];
        if($extension == 'jpg' || $extension == 'jpeg'){
            if($img = file_get_contents($images[$i])){
                $return[$i] = 'images/'.$map.'/'.$i.'.'.$extension ;
                file_put_contents($return[$i],$img);
                $done++ ;
            }
        }
        }
    }
    }
    
    if
(count($return) > 0){
        return $return ;
    }else{
        return false ;
    }
}
?>
Laatst bijgewerkt door Remi op 26 okt 2010 10:44, in totaal 1 keer bewerkt.
Avatar gebruiker
Remi
wmpr
 
Berichten: 3010
Geregistreerd: 04 apr 2006 15:22

Re: [php] Google Image downloader

Berichtdoor Derk » 20 okt 2010 15:00

Draai dit niet te vaak (zet dit niet direct achter een veelbezochte pagina). Google vind dit niet leuk. Ik heb een keer een uur (oid) een google-ban gehad omdat ik zoiets deed.
Afbeelding
Avatar gebruiker
Derk
Beheerder
Beheerder
 
Berichten: 12634
Geregistreerd: 27 nov 2003 19:50
Woonplaats: Houten

Re: [php] Google Image downloader

Berichtdoor Remi » 20 okt 2010 17:39

Wooow, een google ban! Dan had je het wel heel bont gemaakt :P
Voor prive gebruik krijg je overigens geen ban. Ik draai dit script hier gewoon thuis. Ongeveer om de 15 seconden gaat er een aanvraag naar de google server.
Bovendien gebruikt dit script alleen google om de afbeeldingen te zoeken. De afbeelding zelf worden van de websites afgehaald.
Avatar gebruiker
Remi
wmpr
 
Berichten: 3010
Geregistreerd: 04 apr 2006 15:22

Re: [php] Google Image downloader

Berichtdoor Derk » 21 okt 2010 21:59

ow, ik had het gewoon in een while(true) staan :P en niet met plaatjes maar gewoon zoeken, om alle 50 pagina's op te halen.
Toevallig ben ik er net weer mee bezig geweest, altavista heeft niet zoiets én altavista heeft 100 x 10 hits ipv 50 x 10 zoals google :)
Afbeelding
Avatar gebruiker
Derk
Beheerder
Beheerder
 
Berichten: 12634
Geregistreerd: 27 nov 2003 19:50
Woonplaats: Houten

Re: [php] Google Image downloader

Berichtdoor Moonstrike » 22 okt 2010 17:47

Maar wat kun je dan met dit script ?
Avatar gebruiker
Moonstrike
wmpr
 
Berichten: 3287
Geregistreerd: 22 apr 2006 14:40
Woonplaats: Lui lekker land 8)

Re: [php] Google Image downloader

Berichtdoor Remi » 22 okt 2010 20:13

Het zoekt plaatjes op google en download ze dan in een map.
function downloadImagesGoogle($criteria, $map){

De criteria is de zoek criteria, en map is de map waarin de foto moeten komen.
Al wil jij een afbeelding van een appel hebben en die wil je opslaan in de map appels in de map images dan doe je:
downloadImagesGoogle('appel', 'images/appels');

Hij returned de locatie van de gedownloade foto's in een array. Al kon die geen foto's vinden returned die false.
Avatar gebruiker
Remi
wmpr
 
Berichten: 3010
Geregistreerd: 04 apr 2006 15:22


Keer terug naar Snippets



cron