Парсер картинок

Сам использую Extreme Picture Finder, это локальная программа.
За несколько минут может напарсить 1000 картинок, можно выбирать - оригинал или уменьшенная копия.

Но есть большой недостаток - можно парсить только по одному слово, т.е. нельзя задать список и пойти пить чай.

Вопрос актуален.
 
Сам использую Extreme Picture Finder, это локальная программа.
За несколько минут может напарсить 1000 картинок, можно выбирать - оригинал или уменьшенная копия.
Но есть большой недостаток - можно парсить только по одному слово, т.е. нельзя задать список и пойти пить чай.

Вопрос актуален.


Лучше написать свою прогу, и настроить как те надо, чем ипользовать готовые.

1) Если понимаеш как реализовать данную прогу, то без труда можно написать скрипт самостоятельно, некоторые детали кода можно и узнать у людей более понимающих, но всеже надо учить самому, если конечно данная тема интересна.

2) Если надо просто готовый пример, который можно вставить на сайт, то зачем вообще погружаться в данную тему, заплотить программисту гораздо проще чем загружать своими потребностями многих понимающих людей.

А вообще если делать все на готовых скриптах, то в один прекрасный день накроется что-то и несможеш понять что и где рухнуло, потому что даже небудет представления где рыть ошибку.:tcl:
 
Пользуюсь вот этим скриптиком
$pages – количество страниц которые парсятся по 1 запросу.
Предварительно нужно создать папку img, туда будут сохранятся картинки.
Сами запросы кидать в фаил q.txt.
HTML:
<?php
# coding:utf-8
# author: Rushter
# site: http://rushter.com
set_time_limit(0);
$q = file("q.txt");
$pages = 2;
$ch = curl_init();
$num = 0;
foreach ($q as $query)
{
    for ($i = 0; $i <= $pages; $i++)
    {
        curl_setopt($ch, CURLOPT_URL, "http://images.yandex.ru/yandsearch?p={$i}&ed=1&text={$query}&nl=1&stype=image");
        curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.7)');
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
        $result = curl_exec($ch);
        $result = str_replace("&amp;", "&", $result);
        preg_match_all('#a href\="(.*?)" id="#', $result, $out);
        foreach ($out[1] as $iq)
        {
            curl_setopt($ch, CURLOPT_URL, "http://images.yandex.ru" . $iq);
            curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/4.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.7)');
            $result = curl_exec($ch);
            if (preg_match('#tabindex="2" href="(.*?)" onmousedown="#', $result, $im))
            {
                $img = file_get_contents($im[1]);
                file_put_contents("img/$num.jpg", $img);
                $num++;
            }
        }
    }
}
?>
 
Ну так а как его запускать?
Вопрос картинок на определённую тематику актуален. Нужно штук 500
 
Сохраняешь код в файл parser.php, в q.txt забиваешь запросы и запускаешь из командной строки например так:
Код:
php parser.php
 
а у меня вопрос еще феноменальнее

Сохраняешь код в файл parser.php, в q.txt забиваешь запросы и запускаешь из командной строки например так:
Код:
php parser.php

А на винде должен Денвер стоять или что
и в какую папку совать
 
А на винде должен Денвер стоять или что
и в какую папку совать

можно и денвер поставить
но принцыпи самого пхп будет достаточно


папка не имеет значения ... просто будет другой путь в запуске ....
Код:
php C:\path\parent_path\...\parser.php
 
*** скрытое содержание ***
PHP 5.3 (5.3.5)
для винды x86,а что делать если вин 32 хп-3.
Не качать ?

ну для начала нужно разобраться в том что означают цифры 32 и 86

если не вдаваться в подробности то скажу лишь что они "взаимозаменяемые" ( для пользовательского понимания )
т.е. если у вас вин 32 хп-3 то "x86" вам подойдет
 
Назад
Сверху