Добрый день!
Недавно я писал о том, как можно получить все текстовые или графические посты ВКонтакте Что ж, предположим мы их спарсили. Следующий вопрос: куда это применить?
Можно, например, добавить это всё к себе на сайт или выгрузить куда-нибудь еще. Сейчас я разберу пример выгрузки спарсенных картинок на Spaces.ru
Итак, в результате выполнения предыдущего скрипта мы получили энное количество картинок с именами от 1.jpg до n.jpg, теперь нам необходимо выгрузить все эти картинки на Spaces. К сожалению, оганичения Spaces позволяют грузить только один файл в 10 секунд, поэтому придется использовать set_time_limit(0) и sleep(10)
ВНИМАНИЕ. По неизвестным мне причинам этот скрипт НЕ РАБОТАЕТ на локальной машине под Windows (по крайней мере на сборке DENWER.
Принцип действия скрипта таков:
1) Авторизуемся на Spaces
2) Подтверждаем вход из «необычного места» путем ввода 4 последних цифр номера
3) Загружаем файлы по одному
Какие данные нам понадобятся:
1) Ссылка автовхода (авторизуйтесь на Spaces и скопируйте ее из адресной строки)
2) 4 последних цифры номера
3) Ник
4) ID папки, в которую будем грузить файлы
5) Собственно, сами картинки в папке
Итак, поехали:
<?php
# URL автовхода
$avtovhod="http://spaces.ru/tm/34ddfd3de874145a62df0436123246264";
# ID папки
$papka=1;
# Ваш ник
$nick='user';
# 4 цифры номера
$nums='1234';
# Кол-во картинок
$all=1000;
# папка с картинками. Если в одной папке - оставьте пустым. Слэш в конце не забываем ставить!
$dir="img/";
set_time_limit(0); // убираем ограничение по времени
ignore_user_abort(true); // отключаем пользовательское прерывание
$ch2=curl_init($avtovhod);
curl_setopt($ch2,CURLOPT_HEADER,1); // выводим заголовки
curl_setopt($ch2,CURLOPT_RETURNTRANSFER,1);
$a2=curl_exec($ch2);
preg_match('#sid=([0-9]{1,})">#u',$a2,$arr); // определяем sid
$sid=trim($arr[1]);
# Отправляем 4 цифры номера
$ch3=curl_init("http://spaces.ru/mysite/?sid=".$sid);
curl_setopt($ch3,CURLOPT_HEADER,1);
curl_setopt($ch3,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch3,CURLOPT_COOKIE,array("sid"=>$sid));
curl_setopt($ch3, CURLOPT_POST,1);
$to=array();
$to['sid']=$sid;
$to['name']=$nick;
$to['pn_nums']=$nums;
curl_setopt($ch3,CURLOPT_POSTFIELDS,$to);
$a3=curl_exec($ch3);
# Собственно грузим файлы циклом
for($i=1;$i<=$all;$i++) {
$ch=curl_init("http://upload02.spaces.ru/files_upload/?sid=".$sid); // адрес аплоада
curl_setopt($ch,CURLOPT_HEADER,1);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_COOKIE,array("sid"=>$sid));
$data=array();
$data['add']=1;
$data['dir']=$papka;
$data['sid']=$sid;
$data['file']=1;
$data['name']=$nick;
$data['plain']=0;
$data['p']=1;
$data['adult']=true; // если картинки не 18+ ставим false;
$data['myFile']="@".$dir."".$i.".jpg"; // собственно файл
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS,$data);
curl_setopt($ch, CURLOPT_VERBOSE, 1);
curl_setopt($ch, CURLOPT_REFERER, "http://spaces.ru/files/?sid=;name=".$nick."&dir=".$papka."&add=1&p=1&link_id=39312344707"); // подменяем реферер, там проверка
$a=curl_exec($ch);
sleep(10); // тормозим на 10 секунд, увы, защита
}
?>
Скачать исходники в ZIP
Удачного вам массового аплоада
Создатель сайта!!!!