Доброго времени суток читатели блога wooden-stool.ru .
Совсем недавно я уже писал про то, как использовать сниффер и написать скрипт автопостинга в различные сообщества. Теперь хочу предоставить ещё пару скриптов автопостинга, а именно:
Автопостинг записей с сайта, блога. пример скрипта на PHP + cURL
- Автопостинг в Яндекс.Ленту (ya.ru)
- Автопостинг в вконтакте (vkontakte.ru / vk.com)
- Автопостинг в живой журнал (livejournal.com)
То есть, три отдельных примера скриптов на PHP + cURL которые позволяют в автоматическом режиме размещать записи с вашего сайта в социальных сетях и сообществ.
И так, примеры представляют из себя всего лишь способы авторизации на этих сервисах + сам автопостинг записи. Данные берутся из нескольких переменных, для полноценной работы конечно же лучше брать данные с указанной страницы, но тут вы уже сами — доводите до ума. В принципе если что-то будет не понятно то, спрашивайте, с радостью отвечу. Думаю в скором времени опубликовать ещё пару примеров, так что следите за новостями если эта тема вам интеерсна : ) а если навеет то, можно будет запилить что-то типа сервиса bposter. Мечтать, конечно, не вредно..на этот то блог времени нету не то что бы ) к слову — о том как мне плохо живётся и о нехватки времени можно почитать тут, мечты, планы и просто мысли вслух.
К слову говоря, хотите сделать приятное второй половинке? Обратитесь в цветочный магазин Флорикум и закажите красивые букеты недорого с доставкой по Москве.
Собственно примеры автопостинга на PHP + cURL + небольшие комментарии, в любом случае если вам что-то непонятно то спрашивайте.
$uagent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"; // АВТОПОСТИНГ В ЯНДЕКС ЛЕНТУ (*.ya.ru) $ch = curl_init(); $h = array ("Accept-Language: ru-RU,ru;q=0.9,en;q=0.8, Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7, Accept-Encoding: gzip, deflate"); $postdata = 'from=passport&idkey=31u13362258002toC8z7zz&display=page&login=ТУТ ВАШ ПОСТОВЫЙ ЯЩИК&passwd=ТУТ ПАРОЛЬ ОТ НЕГО'; curl_setopt($ch, CURLOPT_URL, "http://passport.yandex.ru/passport?mode=auth"); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch,CURLOPT_HTTPHEADER, $h); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); curl_setopt($ch, CURLOPT_USERAGENT, $uagent); curl_setopt($ch, CURLOPT_TIMEOUT, 20); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_ENCODING, ""); curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt"); $data = curl_exec($ch); $title = "Новая мода 123"; $url = "http://z. r u"; $body = "Часть текста"; $title = urlencode(mb_convert_encoding($title,'UTF-8','windows-1251')); $url = urlencode(mb_convert_encoding($url,'UTF-8','windows-1251')); $body = urlencode(mb_convert_encoding($body,'UTF-8','windows-1251')); curl_setopt($ch, CURLOPT_URL, "http://share.yandex.ru/go.xml?service=yaru&url=".$url."&title=".$title); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // переходит по редиректам curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); //Из какого файла читать curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt"); //В какой файл записывать $data = curl_exec($ch);$postdata = 'userpic=&access_type=public&replies=1&URL='.$url.'&title='.$title.'&body='.$body.'&tags=&tag=&submit_btn=%D0%9E%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C&sk=ub55587a2fa00024f9e083063ff725b8e&type=link&feed_id=138239421'; curl_setopt($ch, CURLOPT_URL, "http://my.ya.ru/ajax/post_do_save.xml"); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch,CURLOPT_HTTPHEADER, $h); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); // возвращает веб-страницу curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); curl_setopt($ch, CURLOPT_USERAGENT, $uagent); curl_setopt($ch, CURLOPT_TIMEOUT, 20); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20); curl_setopt($ch, CURLOPT_HEADER, 0); // не возвращает заголовки curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); // переходит по редиректам curl_setopt($ch, CURLOPT_ENCODING, ""); // обрабатывает все кодировки curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); //Из какого файла читать curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt"); //В какой файл записывать $data = curl_exec($ch);echo $data; curl_close($c); // АВТОПОСТИНГ В ВКОНТАКТЕ НА PHP (vk.com, vkontakte.ru) $c = curl_init(); $postdata = 'email=ТУТ ЕМЕЙЛ&pass=ТУТ ПАРОЛЬ ОТ НЕГО&act=login&q=&al_frame=1&expire=&captcha_sid=&captcha_key=&from_host=vk.com'; curl_setopt($c, CURLOPT_URL, "http://vk.com/login.php"); curl_setopt($c, CURLOPT_HEADER, 0); curl_setopt($c,CURLOPT_HTTPHEADER, $h); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); curl_setopt($c, CURLOPT_POST, 1); curl_setopt($c, CURLOPT_POSTFIELDS, $postdata); curl_setopt($c, CURLOPT_USERAGENT, $uagent); curl_setopt($c, CURLOPT_TIMEOUT, 20); curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 20); curl_setopt($c, CURLOPT_HEADER, 0); curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($c, CURLOPT_ENCODING, ""); curl_setopt($c, CURLOPT_COOKIEFILE, "cookie.txt"); curl_setopt($c, CURLOPT_COOKIEJAR, "cookie.txt"); curl_exec($c); curl_setopt($c, CURLOPT_HEADER, 1); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); curl_setopt($c, CURLOPT_REFERER, 'http://vk.com/settings'); curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($c, CURLOPT_USERAGENT, $uagent); curl_setopt($c, CURLOPT_COOKIEFILE, "cookie.txt"); curl_setopt($c, CURLOPT_COOKIEJAR, "cookie.txt"); curl_setopt($c, CURLOPT_URL, 'http://vk.com/'); $r = curl_exec($c); //регулярками выдераем хеш и айди пользователя preg_match_all('/"post_hash":"(\w+)"/i', $r, $f1); preg_match_all('/"user_id":(\d+),/i', $r, $f2); preg_match_all('/handlePageParams\(\{"id":(\d+),/i', $r, $f3); $f = array('post_hash'=>$f1[1][0], 'my_id'=>$f3[1][0]); $url = urlencode(mb_convert_encoding("http://wooden-stool.ru",'UTF-8','windows-1251')); $mess = urlencode(mb_convert_encoding("Текст сообщения",'UTF-8','windows-1251')); $title = urlencode(mb_convert_encoding("Заголовок сообщения",'UTF-8','windows-1251')); $desc = urlencode(mb_convert_encoding("Описание",'UTF-8','windows-1251')); $postdata = 'act=post&al=1&hash='.$f['post_hash'].'&message='.$mess.'&to_id='.$f['my_id'].'&type=all&url='.$url.'&title='.$title.'&description='.$desc; curl_setopt($c, CURLOPT_HEADER, 0); curl_setopt($c, CURLOPT_HTTPHEADER, 0); curl_setopt($c, CURLOPT_RETURNTRANSFER, 1); curl_setopt($c, CURLOPT_POST, 1); curl_setopt($c, CURLOPT_REFERER, 'http://vk.com/id'.$f['my_id']); curl_setopt($c, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($c, CURLOPT_USERAGENT, $uagent); curl_setopt($c, CURLOPT_POSTFIELDS, $postdata); curl_setopt($c, CURLOPT_COOKIEFILE, "cookie.txt"); curl_setopt($c, CURLOPT_COOKIEJAR, "cookie.txt"); curl_setopt($c, CURLOPT_TIMEOUT, 20); curl_setopt($c, CURLOPT_CONNECTTIMEOUT, 20); curl_setopt($c, CURLOPT_URL, 'http://vk.com/al_wall.php'); $r = curl_exec($c); echo $r;curl_close($c); // АВТОПОСТИНГ НА PHP В Живой Журнал LIVEJOURNAL.COM $c = curl_init(); $tags = "SEO, сео"; $capt = "З9аголо0вок777"; $mess = "Текст сообщения"; $capt = urlencode(mb_convert_encoding($capt,'UTF-8','windows-1251')); $mess = urlencode(mb_convert_encoding($mess,'UTF-8','windows-1251')); $tags = urlencode(mb_convert_encoding($tags,'UTF-8','windows-1251')); $postdata = 'lj_form_auth=&chal=&response=123456&timezone=400&user=НИКНЕЙМ ПИШЕМ ТУТ&password=ПАРОЛЬ&usejournal=НИКНЕЙМ&date_diff=1&custom_time=0&date_ymd_mm=5&date_ymd_dd=05&date_ymd_yyyy=2012&time=17:26&subject='.$capt.'&event='.$mess.'&switched_rte_on=1&prop_taglist='.$tags.'&prop_current_moodid=&prop_current_mood=&comment_settings=&prop_current_location=&prop_opt_screening=&prop_current_music=&prop_adult_content=&security=public&action:update=%D0%9E%D1%82%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D1%82%D1%8C+%D0%B2+gloys'; $h = array ("Accept-Language: ru-RU,ru;q=0.9,en;q=0.8, Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7, Accept-Encoding: gzip, deflate"); $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, "http://www.livejournal.com/update.bml"); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch,CURLOPT_HTTPHEADER, $h); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata); curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)"); curl_setopt($ch, CURLOPT_TIMEOUT, 20); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_ENCODING, "windows-1251"); curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt"); curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt"); curl_exec($ch); curl_close($ch); ?>
Ответов - 24 to “Автопостинг в vk.com, LiveJournal.com и Яндекс.Ленту”
-
интернет-магазин запчасти для иномарок new-autogood.pro
Вопросы: я хочу просто войти на страницу, залогинится грубо говоря, и посмотреть, что мне выдаст на это php не подскажите как это реализовать!
т.е. скрип вводит логин пароль и выдает мне страницу уже авторизованным под мой логин или пароль
Я знаю, что мне надо подставить в какой урл какие значения в методе пост, а вот как проверить работосбособность скрипта не как не могу понять!
-
gloys Говорит:
18.05.2012 at 6:26 пп
Так поменяйте строку
curl_exec($ch); на
$res = curl_exec($ch);
echo $res;
и получите ответ сервера.
У меня на блоге стоит плагин «Одна кнопка». Этого, что — не достаточно?
-
gloys Говорит:
18.05.2012 at 6:23 пп
Впервые слышу о подобном плагине, но что-то сомневаюсь что он потдерживает «постинг с нуля». То есть проходя аутенцификацию и прочие действия.
В целом эти примеры будут интересны как каркас только программистам,которые смогут всё это дело допилить. Но явно не для простого блоггера.
Почему-то публикуется только текст, без заголовка и ссылки…
-
gloys Говорит:
31.05.2012 at 6:16 пп
Постинг куда именно вы протестировали? Перепроверил, всё постится.
Здравствуйте.
До недавнего времени постинг в ЖЖ работал отлично, но потом вдруг перестало поститься. Вывод ответа показывает что форма отправки данных заполнена но не отправлена.
Можете подсказать в чем проблема? Очень надо!
-
gloys Говорит:
11.06.2012 at 3:54 пп
Здравствуйте, к сожалению сейчас немогу поправить скрипт т.к на даче и с 3g не интересно разбиратся в чем проблема..Через пару дней приеду домой — там и посмотрю, отпишусь.
-
Felix Говорит:
13.06.2012 at 7:09 дп
Нашел альтернативный вариант тут vovanmozg.com/2008/otpravka-soobshcheniya-v-livejournal-na-php там в каментах кстати тоже вариант на cURL есть компактный.
-
gloys Говорит:
13.06.2012 at 7:12 дп
Отлично
Вечер добрый, нельзя ли немного поправить скрипт для автопостинга в группу контакта?
-
gloys Говорит:
27.06.2012 at 8:20 пп
Немного?
Для движков phpBB2 ЭТО подойдет????
-
gloys Говорит:
27.09.2012 at 4:42 пп
это всего лишь пример кода реализации автопостинга на пыхе, посему подойдёт для любой CMS в умелых руках..конечно, должен быть доступен cURL, а впринципе всё
Короче статья полный бред. Не, с точки зрения PHP это интересно. А вот с практической точки зрения, это бред, есть куча плагинов которые реализуют это в автоматическом режиме. Автору видно нечего было писать так щн решил написать как можно постить туда куда уже куева туча плагинов наделана для постинга, заодно показать какой я умный и знаю PHP. Вот если автор нашёл сервис в который нет плагинов и плагины для автопостинга туда востребованы, то да, я бы сказал что пост нужный. А так тратить пол дня для разбора чужого кода, потом если он небудет работать дописывать что то своё, я ещё садистом нестал….
-
gloys Говорит:
27.03.2013 at 7:38 дп
-
Alex Говорит:
16.11.2013 at 3:10 пп
Вас тут никто не держит — если вам не интересна реализация и уж тем более никто вас не заставляет разбираться в коде. У меня то есть что писать, а вам видимо нет (сочувствую кстати). Бред видимо у вас в голове, так сказать — прочитайте ещё раз своё сообщение через пару недель и улыбнитесь = )
p.s и да, что вы вообще делаете в этой записи? если вам не интересна реализация автопостинга…гуляй отседа окда?
gloys, да забей на него… Судя по его словам, он вообще не в курсе че происходит. Как буд-то на белом свете только 3 знаменитые КМС для которых уже все сделано…. А есть такие КМС в которые нужно писать эти автопостеры с индивидуальными настройками, проверками и прочее… хотя бы для самописных КМС…
Так что Андрей, не судите по себе.
Статья полезна тем кому она нужна, а кто знает что-то другое лучше бы поделился любезно или прошел мимо…. К тому же че разбираться? тут все понятно, а кто не понимает что там написано — учите языки программирования, раз не понимаете… ))))))
-
gloys Говорит:
17.11.2013 at 1:00 пп
ого, когда я ему отвечал походу в нулину был, я такие слова и не знаю..поправил свой комментарий дабы не пугать посетителей хД
Alex, да всё норм я не парюсь )
Здравствуйте, почему-то Ваш пример у меня не работает для ЖЖ..
echo curl_exec($ch); вообще ничего не возвращает, как будто по таймауту скрипт обрывается и все..
-
Владимир Говорит:
14.04.2013 at 5:34 пп
судя по всему в нужное поле не подставляется пароль, только непонятно почему..
-
Владимир Говорит:
17.04.2013 at 8:31 дп
По-прежнему хотелось бы получить консультацию по данному вопросу)
вконтакте не работает. нужен скрипт авторитизации или чтобы с куками заходил с сервера. С денвера с куками заходит, с сервера нет.
А таким образом email=ТУТ ЕМЕЙЛ&pass=ТУТ ПАРОЛЬ ОТ НЕГО&act=login&q=&al_frame=1&expire=&captcha_sid=&captcha_key=&from_host=vk.com не авторитизируется. Можно вручную в браузере проверить
Похоже немного изменился API во вконтакте… и код не работает правильно. Читайте в разработке нюансы.
-
gloys Говорит:
17.11.2013 at 1:04 пп
Скрипты уже давно не актуальны, к сожалению, дата публикации полтора года назад : ) переписывать лень ибо уже не интересна реализация.