Вывод списка URL-адресов из Twitter в Tumblr - PullRequest
1 голос
/ 06 августа 2010

Этот вопрос связан не столько с реальным кодом, сколько с базовыми методами.

Мой «босс» в моей псевдоинтернации попросил меня написать ему скрипт, который будет вычищать список ссылок из твита пользователя (список приходит раз в неделю, и это всегда один и тот же пользователь), а затем публиковать указанный список на счет компании в Tumblr.

В настоящее время я думаю об этой структуре: в качестве основы будет использоваться сценарий bash, который сначала вызывает некоторый сценарий, который использует API Twitter, чтобы найти сообщение с заданным хэштегом и проанализировать список (текущие кандидаты для языков Perl, PHP и Рубин, в произвольном порядке). Затем скрипт сохранит проанализированный список (с некоторой разметкой) в текстовом файле, откуда другой скрипт, использующий API Tumblr, отформатирует список и затем опубликует его.

Это разумный способ сделать это? Пока в планировании я только получаю пост в Твиттере, но я уже застрял между использованием API для захвата поста или просто захватом канала, который они предоставляют, и попыткой его проанализировать. Я знаю, что это не очень большой проект, но это, безусловно, самый большой проект, который я когда-либо начинал, поэтому я парализован страхом, когда дело доходит до принятия решений!

Ответы [ 2 ]

1 голос
/ 11 августа 2010

Из вашего описания нет причины, по которой вы не сможете сделать все это в одном скрипте, который упростит вещи, если не будет веской причины переносить данные между двумя скриптами. И прежде чем открывать соединения вручную, есть библиотеки, написанные на многих языках для Tumblr и Twitter, которые могут значительно облегчить вашу работу. Вам определенно не следует пытаться разобрать ленту RSS - они предоставляют API по определенной причине. *

Я бы лично пошел с Python, так как он быстро запускается и работает и имеет отличные библиотеки для таких вещей. Но если вы не знакомы с этим, есть библиотеки, доступные для Ruby или Perl (PHP меньше). Просто Google "{platform} library {language}" - быстрый поиск дал мне python-tumblr , WWW: Tumblr и ruby-tumblr , а также как python-twitter , Net :: Twitter и рубиновый камень " twitter ".

Любая из этих библиотек должна упростить подключение к Twitter, чтобы вывести твиты для определенного пользователя или хэштегом через API. Затем вы можете просмотреть их, проанализировав при необходимости, и затем использовать библиотеку Tumblr, чтобы опубликовать их в Tumblr в любом формате, который вам нужен.

Вы можете сделать это вручную - открывая и читая соединения или, что еще хуже, снимая с экрана, но на самом деле нет смысла делать это, если у вас есть хорошая библиотека - что вы делаете - и это больше склонны к проблемам, причудам и ошибкам, которые остаются незамеченными. И, как я уже сказал, если нет веской причины для использования промежуточного сценария bash, было бы намного проще просто хранить данные в одном сценарии, в массиве или какой-либо другой структуре данных. Если вам это нужно и в файле, вы можете просто записать его, когда закончите, из того же сценария.

* Единственное возможное осложнение здесь , если , вам необходимо пройти аутентификацию для Twitter - что я не думаю, что вы делаете, если вы просто получаете пользовательский график - они скоро прекратят базовую аутентификацию, поэтому вы необходимо настроить учетную запись OAuth (см. "Что такое OAuth" в dev.twitter.com). Это не совсем проблема, но делает вещи немного больше сложно. API все еще должен быть проще, чем парсинг RSS.

1 голос
/ 10 августа 2010

Ваш подход кажется подходящим.

  • Использование user_timeline twitter api для извлечения всех твитов, опубликованных пользователем.
  • Анализ выборочного списка (возможно, с использованием регулярных выражений) для извлечения ссылок из твитов и сохранения их во внешнем файле..
  • Опубликуйте эти ссылки в учетной записи tumblr с помощью tumblr write api.

Вы также можете отслеживать последний извлеченный идентификатор твита из твиттера, чтобы продолжить извлечение из этого идентификатора твита.

...