Pull to refresh

Comments 90

Классная статья! Благодарю за питона =).
Поддерживаю. Лично мне Python очень нравится. Популярность языка растет и это радует.
Статус в твиттере — это иное и не похоже на статус вконтакте, где почитают и забудут, я статусы вконтакте не читаю совершенно, еще не видел ниразу здравого смысла в них.
Писать в твиттер для двух друзей и кучи непонятнокого — это не то для чего придумывался твиттер. И как я писал выше все мои друзья в контакте и они пишут и читают статус сообщения.
На всякий случай оговорюсь, я за такие эксперименты, вы молодец, что не поленились написать.
В твиттере у меня нет ни одного друга с реальной жизни. В отличии от контакта я нашел определенный круг умных людей, с которыми можно общаться. И найти в твиттере одно думцев плевое дело =)
Контакт я воспринимаю, как сеть общения с друзьями в неформальной форме, для всего остального я не вижу зачем он.
Пользуетесь ли вы twitter’ом? Если ответом является «Да», то милости просим под кат


Согласно настроениям аудитории, логично было бы спрашивать «пользуетесь ли вы vkontakte.ru» :)
Шанс, что вы пользуетесь контактом, больше, чем твиттером ,.)
Эх, скармливать свои пароли неизвестному сервису не хочется, а своего сервера нет. Обидно.
Так а что мешает запускать python на своей машине?
python есть даже под мобильные винды и симбиан.
Компьютер не работает круглые сутки, а крона на симбе, боюсь, нет :)
В принципе на Google App Engine должно работать, сам не копал в эту сторону.
последние две недели у GAE cron есть :)
есть же app engine.
кстати могу сделать java/groovy версию, если кому надо.
Порт под Django логичнее смотрится.
Но все интересно — особенно если один пример на нескольких языках рядом написан.
Если дойдут руки, опубликуйте здесь же, пожалуйста.
> Пользуетесь ли вы twitter’ом? Если ответом является «Да», то милости просим под кат, где будет рассказано про способ автоматического репостинга сообщений из twitter’а в статус сообщения на сайте vkontakte.ru

Т.е. вариант, что кто-то не пользуется говновконтактом даже не рассматривается?
UFO just landed and posted this here
я осознавал, на что шел.
Я к сожалению пока что не знаю этого языка, подскажите, что может быть? При запуске выдаётся
twivk # ./vktwi.py
File "./vktwi.py", line 31
mask = r"(?:"+mask_link[]+r")(.*)(?:"+mask_link[1]+r")"
^
SyntaxError: invalid syntax
Да, меня тоже это — mask_link[] настораживает:)
я избавился от этого заменой [] на [0]
Нефиг под рутом сидеть.
v2nek@host ~/twivk $ ./vktwi.py
File "./vktwi.py", line 31
mask = r"(?:"+mask_link[]+r")(.*)(?:"+mask_link[1]+r")"
^
SyntaxError: invalid syntax
Ежу понятно, что синтаксическая ошибка от этого не улетучится :) Я просто.
Это очередной холивар, не относящийся к теме :)
ох, спасибо. освободили немного времени, избавив от необходимости писать самому :)
А нельзя как-нибудь описать более подробно, для не особо сведущих в этом?
А что вам иненно не понятно? Задавайте вопросы и я попытаюсь ответить
Небольшой патчик:

114c114
< if status_twitter != status_vkontakt:
— > if (status_twitter != status_vkontakt) and (status_twitter[0] != '@'):

Все-таки реплаи не очень красиво там будут смотреться…
Вы правы, так красивее.
да, и еще, некоторые символы, например "!", во вконтакте заменяются на html-entity, соответственно надо исправить сравнение. ну и точка в конце ставится не всегда.
Вы правы, сейчас посмотрю, что можно с этим сделать.
у кого есть твиттер, тому не нужен вконтакт имхо
> Пользуетесь ли вы twitter’ом? Если ответом является «Да», то милости просим под кат

т.е. Вы утверждаете, что во вконтакте есть все пользователи хабра?
а вы не знали что когда вы регились на хабре, вас тайно регили на Вконтакте.ру, Одноклассниках, и друхи подобных сервисах?))
UFO just landed and posted this here
Как всегда не хватает ссылки, где посмотреть живой пример
Что-то у вас странное с отступами в коде. То четыре, то восемь.
Это скорее всего хабрапарсер намутил.
UFO just landed and posted this here
Может добавите ссылку на какой-нибудь сервис, заточенный для передачи кода другим?
UFO just landed and posted this here
Скорее всего съехали отступы. Такое очень часто с питоном
А нельзя ли выложить исходник? А то хз как удалять номера строк.
UFO just landed and posted this here
К вечеру выложу исходник
Под маком скрипт не работает. Я, к сожалению, питон не знаю и не могу сам исправить ошибку.

Traceback (most recent call last):
File «TwiVkon.py», line 107, in status_twitter = get_twit_status(tw_login, tw_passwrd)
File «TwiVkon.py», line 51, in get_twit_status
response = t.status_user_timeline(count=1)
File "/Users/icekeeper/Documents/TwiVkon/twyt/twitter.py", line 223, in status_user_timeline
return self.get(data, handler, doauth=True)
File "/Users/icekeeper/Documents/TwiVkon/twyt/twitter.py", line 134, in get
return self.__request(data, handler, doauth=doauth, method='GET')
File "/Users/icekeeper/Documents/TwiVkon/twyt/twitter.py", line 115, in __request
raise TwitterException(«Connect failed: » + str(e.reason))
twyt.twitter.TwitterException: Connect failed: unknown url type: https
Выложил исходный текст попробуйте запустить оттуда.
у меня все заработало. вы что-то сделали не так.
нууу обработки ошибок вообще нет

P.S. Где нормальный API от ВКонтакте? Парсинг — это зло.
Я же это не продаю, а показываю пример реализации. Допишите обработчик, если заинтересовались, всё опен сорс.
UFO just landed and posted this here
Как я ждал такой коммент ;)
UFO just landed and posted this here
UFO just landed and posted this here
Вы правы, так и впрямь красивее.
Все хорошо, но зачем перезапускать cron? Вроди как, все задачи подхватываются спустя 2 минуты? Так было и есть на всех линуксах на которых работал подолгу (Red Hat, Fedora, Gentoo, Kubuntu), на всех BSD (FreeBSD, Mac OS X).
Не знал. Спасибо за подсказку.
Сообщество для того и нужно, чтобы делиться опытом ;)
>Вместо этого мы будем использовать готовые куки, которые раздобудем в браузере.
В голове появились гадкие мысли о вконтакто трояне на питоне
запускаю скрипт, ошибок никаких не выдает, пыхтит вроде, но статус не меняет. =( последнее сообщение — не реплай, проверил. без дебаггера сложно.
спасибо. все заработало без пиления напильником.
не подскажете как можно из вконтакта выдрать список друзей(id, фамиля, имя)?
изучением языка занялся недавно) пока только удалось, с помощью этой статьи, получить страницу содержащую список…
Посмотри документацию контактовского API, на сколько я помню там есть доступ к друзьям.
Скрипт отказывается работать, при обращении к vkontakte.ru/ выдает:

urllib2.URLError: прокси нету и можно простым пингом достучаться до vkontakte.ru
Я знаю, уже поздно писать, но код корявый. Во-первых, столько комментариев никому не нужно — новички все равно не поймут, опытным хватит и гораздо более меньшего количества. Во-вторых, форматирование кода ужасно. Минимум пробелов, зачем-то лишние символы и действия (типа конструировния регекспа в две стадии, да еще и с ненужными (?:) группами).

Кстати, перезапускать crond после редактирования пользовательского crontab не нужно.

А если бы его понадобилось перезапустить (например, после редактирования /etc/crontab, и то я не уверен), то лучше испольовать reload.
А если нет сервера и домашний комп не включён всегда — есть vtwittere.ru — готовый сервис.
P.S. Пароль доверить можно, я проверял.
Э… сразу скажу что я Python изучаю неделю:) так что… ну все поняли… код я прочитал, и прочитал коментарии… Под Ubuntu запустил так python tinv.py сначала выжавал кучу синтаксических ошибок — исправил выравниванием отступов… теперь ошибок не выдает… но… статус в контакте не меняется :( в чем проблема?
Косо криво как-то работает. Многие символы заменяются вконтакте на html и соответственно сообщение публикуется множество раз, так как статусы считаются разными. Аналогичные вещи творятся если в статусе присутствует ссылка! К ней добавляется тег.
А вы по мере обновления кода ни в какой репозиторий его не сливаете?
И еще, как решается проблема с устареванием кук?
Сорри за поздний (и немного тупой) пост, но:

Крон вываливается с ошибкой:
Fatal error: Call to undefined function curl_init() in /virt/homes/ozonar/htdocs/twit/twitter.class.php on line 253

Функция curl_init() нигде не обьявлена. Что не так?
vtwittere.ru/:

К великому сожалению, сервис прекратил свое земное существование.
Все авторизационные данные были удалены вместе с базой данных.
Просим прощения за такой вот косяк. Если что, пишите письма: evgenij@beloded.net
cookie_string изменился. Теперь он выглядит так.

cookies_string = ""«remixchk=5; remixlang=3; remixclosed_tabs=8; remixsid=31fcc376cf74c284332552ec6c3e3d42d5ac223d9ed12b64579b2x2»""
из них вполне хватает remixsid=
ура допилил подмену куков, теперь и у меня работает
UFO just landed and posted this here
Кажется, вконтакте поменяли формат кук.
не в этом дело. Старое API твиттера закрыто жеж, теперь только OAuth.
> Но в русскоязычном twitter’е в данный момент всего лишь 17 тыс. пользователей (по данным Бобука).

Это по данным Бобука за какой год?
По данным на март этого года, «к настоящему моменту русскоязычный сегмент в „Твиттере“ насчитывает 183 тысячи пользователей.»
Хотя да, это всё равно безусловно меньше десятков миллионов Вконтакте.
Похоже, activityhash почил с миром или как-то генериться теперь — на странице его натйи не получается.
Sign up to leave a comment.

Articles