Новости из Блогов Простой скрипт для выкачивания картинок на рабочий стол

Discussion in 'Мировые новости. Обсуждения.' started by Suicide, 12 Nov 2012.

  1. Suicide

    Suicide Super Moderator
    Staff Member

    Joined:
    24 Apr 2009
    Messages:
    2,373
    Likes Received:
    6,619
    Reputations:
    693
    Простой скрипт для выкачивания картинок на рабочий стол
    11.11.2012
    http://bafoed.net/post/12540/
    http://bafoed.net



    Понадобились значит картинки, решил написать скрипт, который выкачивал бы их. Выкачивает с сайта Wallbase.cc.

    Код простой, комментировать нечего, просто может пригодится кому-нибудь, чтобы ставить рандомные картинки каждые n-минут.

    PHP:
    <?php
    // bafoed.net
    $width 1920//   разрешение
    $height 1080// 
    $folder dirname(__FILE__) . '/wallpapers/'// папка для загрузки
    $pages 10// кол-во страниц, каждая страница содержит 32 картинки
     
    function curl($url)
    {
        
    $ch curl_init($url);
        
    curl_setopt($chCURLOPT_RETURNTRANSFERtrue);
        
    curl_setopt($chCURLOPT_HTTPHEADER, array('X-Requested-With: XMLHttpRequest'));
        
    curl_setopt($chCURLOPT_USERAGENT'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11');
        
    curl_setopt($chCURLOPT_REFERER'http://wallbase.cc/random/12/eqeq/1920x1080/0/100/32/865');
        
    curl_setopt($chCURLOPT_COOKIEJAR'./cookie');
        
    curl_setopt($chCURLOPT_COOKIEFILE'./cookie');
     
        
    $response curl_exec($ch);
        
    curl_close($ch);
        return 
    $response;
    }
     
     
    foreach(
    range(1$pages) as $i)
    {
       echo 
    '[Page #' $i ']';
       echo 
    '   Loading wallpapers URL...';
       
    $data curl('http://wallbase.cc/random/12/eqeq/'$width 'x' $height '/0/100/32/' rand(1999));
       
    $data json_decode($datatrue);
       
    $count count($data);
       echo 
    '   Done, ' $count ' loaded.' PHP_EOL;
     
       foreach(
    $data as $c => $wallpaper)
       {
          
    $data curl('http://wallbase.cc/wallpaper/' $wallpaper['id']);
          
    preg_match('#B\(\'(.*?)\'\)#is'$data$out);
          
    $url base64_decode($out[1]);
          
    $ext end(explode('.'$url));
          
    $path $folder 'wallpaper-' $wallpaper['id'] . '.' $ext;
          echo 
    '   Downloading image ' $c '/' $count ' to ' $path ' ...';  
          
    file_put_contents($pathfile_get_contents($url));
          echo 
    ' OK' PHP_EOL;
       }
    }
    echo 
    'Stop.';
    Рекомендую запускать через терминал, чтобы выглядело не в одну строчку и выводилось постепенно.

    [​IMG]
     
  2. MadFun.

    MadFun. Elder - Старейшина

    Joined:
    8 May 2007
    Messages:
    32
    Likes Received:
    28
    Reputations:
    20
    Полезная штука, спасибо.
     
  3. De-visible

    De-visible [NDC] Network develope c0ders

    Joined:
    6 Jan 2008
    Messages:
    916
    Likes Received:
    550
    Reputations:
    66
    В чем полезность?