Скрипт создания скриншотов

Тема в разделе "Коммерческие", создана пользователем avgaz, 15 мар 2009.

Информация :
Публиковать (для всех) нуленые версии, особенно от modulesgarden КАТЕГОРИЧЕСКИ не стоит. Тема мониторится оным разработчиком, а к нам приходят абузы которые нельзя игнорировать.
Статус темы:
Закрыта.
Модераторы: Amazko, Aste
  1. avgaz

    avgaz

    Регистр.:
    18 окт 2006
    Сообщения:
    188
    Симпатии:
    6
    Собственно ищется скрипт создания скриншотов сайтов.
    Скрипт нужен для создаваемого каталога сайтов, что бы при добавлении сайта, делался его скриншот и загружался в директорию на сервере.
    Знаю что есть много сервисов это представляющие но нужно что бы записывался к себе на сервер.
     
  2. AleXSuS

    AleXSuS

    Регистр.:
    27 фев 2009
    Сообщения:
    195
    Симпатии:
    55
    Ну на самом деле скриншоты будет делать Перейти по ссылке, а мы будем забирать готовый скриншот у них.

    Скрипт написан на PHP с использованием CURL, но при желании ф-ции CURL можно легко заменить file_get_contents(). По этому этот скрипт будет работать на любом хостинге, и никаких дополнительных надстроек на веб-сервером не нужно.
    Парсер скриншотов вещь весьма полезная, поэтому думаю всем будет интересна её реализация :
    Код:
    <?php
    $url='http://webphp.ru/';
    $c=curl_init('http://www.browsrcamp.com/index.php?url='.$url.'&width=1280&quality=2');
    curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
    $page=curl_exec($c);
    curl_close($c);
    $page=substr($page,strpos($page,"Click the image for the fullsize version."));
    $page=substr($page,strpos($page,"<a"));
    $page=substr($page,0,strpos($page,"</div>"));
    
    #Получение ссылки на полномаштабный скрин
    $page=substr($page,strpos($page,"http"));
    $page=substr($page,0,strpos($page,"\""));
    
    #выводим полученный урл
    echo $page;
    ?>
    Мы получаем URL к полномасштабному скриншоту сайта, а что дальше делать с ним это уже зависит от фантазии - хотите сохраняйте себе на сервер, уменьшайте размеры, вырезайте нужную область, конвертируйте, наносите вотермарки Всё чего душа захочет.

    Я пока не заметил никаких ограничений на снятие скриншотов этим скриптом, Перейти по ссылке пока наверно не заметил эту оплошность, но в любом случае благодаря CURL можно будет подделывать REFERER, кукисы, браузер - и много чего ещё.

    А ещё есть вот такой сервис, очень удобный не знаю подойдёт вам или нет... но там есть хороший API и нет рекламы на скриншотах. Перейти по ссылке
     
  3. avgaz

    avgaz

    Регистр.:
    18 окт 2006
    Сообщения:
    188
    Симпатии:
    6
    Эту статью я уже читал articles.org.ru/cn/showdetail.php?cid=5527
    Но не то это. Лучше что бы свой скрипт делал скрины.
    Ладно пусть скрин сделает инородный сайт. Далее тогда как записать его к себе на сервер?
     
  4. rsha1988

    rsha1988

    Регистр.:
    7 апр 2006
    Сообщения:
    550
    Симпатии:
    133
    Обычный php скрипт не может сделать скриншот сайта! Для этого нужны дополнительные ПРОГРАММЫ установленные на сервере!

    Сохранение в директорию:

    PHP:
    <?php
    $url
    ='http://webphp.ru/';
    $c=curl_init('http://www.browsrcamp.com/index.php?url='.$url.'&width=1280&quality=2');
    curl_setopt($cCURLOPT_RETURNTRANSFERtrue);
    $page=curl_exec($c);
    curl_close($c);
    $page=substr($page,strpos($page,"Click the image for the fullsize version."));
    $page=substr($page,strpos($page,"<a"));
    $page=substr($page,0,strpos($page,"</div>"));

    #Получение ссылки на полномаштабный скрин
    $page=substr($page,strpos($page,"http"));
    $page=substr($page,0,strpos($page,"\""));

    #Получаем скрин и сохраняем его

    $ch=curl_init ();
    curl_setopt ($chCURLOPT_URL$page);
    $fp=fopen (''.urlencode($url).'.jpg'"w+");
    curl_setopt ($chCURLOPT_FILE$fp);
    curl_setopt ($chCURLOPT_AUTOREFERER1);
    curl_exec ($ch);
    curl_close ($ch);
    fclose ($fp);

    ?>
     
  5. avgaz

    avgaz

    Регистр.:
    18 окт 2006
    Сообщения:
    188
    Симпатии:
    6
    У меня не работает curl
    может кто перепишет код под другую функцию
    file_get_contents()
     
  6. AleXSuS

    AleXSuS

    Регистр.:
    27 фев 2009
    Сообщения:
    195
    Симпатии:
    55
    а в чём проблема? file_get_contents("путь к файлу") - получили файл
    а дальше уж сами поди разберётесь как его сохранить на сервер
     
  7. avgaz

    avgaz

    Регистр.:
    18 окт 2006
    Сообщения:
    188
    Симпатии:
    6
    В том то и дело самому не разобраться допустим заменил строку
    Код:
    $c=curl_init('http://www.browsrcamp.com/index.php?url='.$url.'&width=1280&quality=2'); 
    заменил на
    Код:
    $c=file_get_contents('http://www.browsrcamp.com/index.php?url='.$url.'&width=1280&quality=2');
    
    Далее идут ошибки например
    Fatal error: Call to undefined function curl_setopt() и тд
    как полностью переделать его?
     
  8. AleXSuS

    AleXSuS

    Регистр.:
    27 фев 2009
    Сообщения:
    195
    Симпатии:
    55
    Напишите в гугле file_get_contents или создание превью php и вам покажут много-много ссылок, где есть и примеры и всё остальное...
    извините, но делать велосипед, как-то нет желания.
    может кто-то другой вам сможет помочь :nezn:

    почитайте например здесь Перейти по ссылке, там есть реализация на curl и на socket (то что может вам помочь)
     
  9. dazed

    dazed

    Регистр.:
    31 мар 2007
    Сообщения:
    208
    Симпатии:
    55
    Да те параметры курла соответственно они не нужны тогда..

    Код:
    <?php
    $url='http://nulled.ws/';
    $page=file_get_contents('http://www.browsrcamp.com/index.php?url='.$url.'&width=1280&quality=2');
    
    $page=substr($page,strpos($page,"Click the image for the fullsize version."));
    $page=substr($page,strpos($page,"<a"));
    $page=substr($page,0,strpos($page,"</div>"));
    
    #Получение ссылки на полномаштабный скрин
    $page=substr($page,strpos($page,"http"));
    $page=substr($page,0,strpos($page,"\""));
    
    #выводим полученный урл
    echo $page;
    ?>
     
Статус темы:
Закрыта.