Как с google с помощью скриптов выдрать в папку на рабочем столе все картинки?

Рейтинг: -1Ответов: 1Опубликовано: 14.06.2011

Так же примерно как Марк Цукерберг в фильме социальная сеть выдрал картинки с разных корпусов.

Ответы

▲ 2

Гы, а вот и можно =) JS вполне успешно можно распарсить. Там прямо на странице есть 1) картинки вида

<img class=rg_i name=Swj3qpAyTftgaM: [...]

и 2) есть div, в котором есть объект, в котором есть параметры. в нашем случае

<div id=hd_1 style="display:none">{"Swj3qpAyTftgaM:":["/imgres?imgurl\x3dhttps://lh6.googleusercontent.com/_aVPS-c5URrM/Tcm4mscSYmI/AAAAAAAAB9I/q4uHgROHh6I/Bitcoin(2).jpg[...

Вот после x3d до следующего x3d есть наш УРЛ. Другое дело, что писать парсер здесь я не буду, ибо это регулярками не возьмешь, а руками по strpos - муторно. Подсказку я дал.

UPD Та пожалуйста. php(разрешить внешний file_get_contents):

$path = 'путь-до-папки-на-рабочем-столе';
$str = file_get_contents('путь-до-гугла');
$images = parseGoogleImages($str); // по алгоритму выше, ARRAY
$imgNum = 0;
$ext = '';
foreach ($images as $url) {
  $imgNum++;
  $img = file_get_contents($url);
  if (!$img) {
    echo '<b>Error #1</b> with url <b>'.$url.'</b><br />';
    } else {
    $ext = $url;
    while (strpos($ext, '.') !== false)
      $ext = substr($ext, strpos($ext, '.')+1);
    if (!file_put_contents($path.'\\'.$imgNum.'.'.$ext, $img)) {
      echo '<b>Error #2</b> with url <b>'.$url.'</b><br />';
      } else echo 'Url<b>'.$url.'</b> loaded to <b>'.$path.'\\'.$imgNum.'.'.$ext.'</b><br />';
    }
  }

Как-то так.