16.11.09 01:38Публикация поста в WordPress с помощью XMLRPC с поддержкой All in One SEO Pack

Часто при создании блогов и сплогов встает задача их автоматического наполнения тем или иным контентом.

Я написал небольшую функцию автоматической публикации поста в блоге WordPress с использованием механизма XML-RPC. Вообще говоря, функций этих написано уже много, в чем легко можно убедиться погуглив эту тему, но всё же, фукнции, которая поддерживала бы передачу тегов keywords и description для плаггина «All in One SEO Pack» я не нашёл, поэтому пришлось разбираться самому. Ну и вот, что у меня получилось:

Далее >>

Коммментариев нет | Теги: , ,

06.11.09 12:30Google Images parser

Написал на php простенький парсер для Google Images. Может быть кому-нибудь пригодиться.

Для работы необходим пакет Services_JSON из pear. Как оказалось встроенный JSON парсер умеет разбирать далеко не все JSON-конструкции. За совет спасибо Вадосу. Забрать Services_JSON можно тут. Так же необходим libcurl. Его взять можно тут.

Cам скрипт можно забрать отсюда (JSON.php уже в архиве). В настройках задаются параметры поиска и ключ по которому будет производиться поиск. Скрипт парсит первую страницу результатов поиска и выдает массив с урлами и параметрами картинок.

Комментарии 10 | Теги: , ,

15.10.09 16:44Как авторизоваться «ВКонтакте».

Для авторизации «Вконтакте» необходимо отправить POST запрос с логином, паролем и двумя служебными параметрами expire и vk скрипту http://login.vk.com/?act=login, после этого из ответа выдернуть параметр value и отправить POST запрос с этим параметром скрипту http://vkontakte.ru/login.php?op=slogin&redirect=1 и получить cookie.
Реализация на php с использованием libcurl выглядит примерно так:


$email="name@domain";
$passwd="password";
$ch=curl_init();
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,"http://login.vk.com/?act=login");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "email=".$email."&pass=".$passwd."&expire=&vk=");
$buf=curl_exec($ch);
curl_close($ch);
if (strpos($buf,"value")==FALSE)
{
echo($email." is not a valid account. Maybe banned or incorrect password");
continue;
}
preg_match('/value=\'(\w+)\'/',$buf,$s);
$s=$s[1];
$ch=curl_init();
curl_setopt($ch, CURLOPT_COOKIEFILE, $cookie);
curl_setopt($ch, CURLOPT_COOKIEJAR, $cookie);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_URL,$host."http://vkontakte.ru/login.php?op=slogin&redirect=1");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, "s=".$s);
$buf=curl_exec($ch);
curl_close($ch);

Обработки капчи тут нет, потому что при обращении к скрипту http://login.vk.com/?act=login она не появляется. Появляется она при обращении к http://vkontakte.ru/login.php, но к данному скрипту обращение с недавних пор не требуется.

Комментарии 2 | Теги: , , ,