Ява

Twitter4J Учебник

Twitter4J Учебник
В этом уроке мы будем использовать библиотеку Twitter4J для добычи данных из Twitter. Twitter имеет дело с большими данными каждый день, но что это на самом деле?? У нас будет очень краткий обзор больших данных, прежде чем мы погрузимся в добычу данных из Twitter.

Почему мой Твиттер?

Twitter - идеальное место для извлечения данных из. Вот несколько причин, почему это правда:

Начиная

Теперь, когда мы обосновали, почему мы используем эту платформу, давайте начнем собирать наши инструменты. В этом уроке мы будем использовать Java 8, но не стесняйтесь использовать вышеуказанные версии (хотя для их использования могут потребоваться некоторые настройки, а не твиты).

Мы будем использовать библиотеку Java под названием Twitter4J для подключения к API Twitter.

Получение ключа API Twitter

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

Давайте создадим приложение Twitter и получим правильные ключи, чтобы двигаться дальше.

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

После создания проекта вы должны увидеть страницу со следующим заголовком:

Эти значения нам понадобятся позже, поэтому лучше оставить эту вкладку открытой.

Начало работы с Twitter4J

Twitter4J - это неофициальный Библиотека Java для API Twitter. С Twitter4J мы можем легко интегрировать наше Java-приложение с сервисом Twitter.

Зависимость от Maven

Для начала мы добавим соответствующую зависимость Maven в наш Java-проект.


org.twitter4j
twitter4j-core
4.0.6

Найдите последнюю версию зависимости от maven здесь.

Аутентификация

Мы добавили требуемую зависимость Maven сейчас. Пришло время поговорить с API и Twitter.

Чтобы начать разговор, нам нужно аутентифицировать наши звонки в Twitter, чтобы он знал, что только известный пользователь имеет доступ к данным. Для этого давайте настроим наши ключи, которые мы получили ранее.

статическая конечная строка CONSUMER_KEY = "вы-ключ";
статическая конечная строка CONSUMER_SECRET = "секрет";
статическая конечная строка ACCESS_TOKEN = "токен";
статическая конечная строка ACCESS_TOKEN_SECRET = "токен-секрет";
public static Twitter getTwitterInstance ()
ConfigurationBuilder cb = новый ConfigurationBuilder ();
cb.setDebugEnabled (истина) bashbash
.setOAuthConsumerKey (CONSUMER_KEY)
.setOAuthConsumerSecret (CONSUMER_SECRET)
.setOAuthAccessToken (ACCESS_TOKEN)
.setOAuthAccessTokenSecret (ACCESS_TOKEN_SECRET);
TwitterFactory tf = новый TwitterFactory (cb.строить());
return tf.getInstance ();

Пример: отображение временной шкалы

В этом примере мы будем показывать несколько последних твитов из временной шкалы аутентифицированного пользователя. Мы сделаем это, используя экземпляр Status объекта Twitter как:

private static void showHomeTimeline (Twitter twitter)
Список статусы = null;
пытаться
статусы = твиттер.getHomeTimeline ();
Система.вне.println ("Показана домашняя шкала.");
для (Статус статуса: статусы)
Система.вне.println (статус.getUser ().getName () + ":" + status.getText ());
Строка url = "https: // twitter.com / "+ статус.getUser ().getScreenName () + "/ status /"
+ статус.getId ();
Система.вне.println ("URL выше твита:" + url);

catch (TwitterException e)
е.printStackTrace ();

В результате должен получиться набор случайных твитов:

Переход по ссылке на твит часто приводит к самому твиту. Переход по ссылке из первого твита даст нам следующий результат:

Помимо имени пользователя и текста твита, Twitter API может предоставить много информации, которую можно получить с помощью следующих доступных методов:

статус.getSource ();
статус.getCreatedAt ();
статус.getFavoriteCount ();
статус.getGeoLocation ();
статус.getLang ();
статус.getPlace ();
статус.getRetweetCount ();
статус.getUser ().getBiggerProfileImageURL ();
статус.getUser ().getEmail ();
статус.getUser ().getFollowersCount ();
статус.getUser ().getFriendsCount ();

Это дает много информации, относящейся к твиту и пользователю, опубликовавшему твит. К ним относятся не все методы, не стесняйтесь изучать все доступные методы.

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

Пример: опубликовать твит

В этом примере мы просто опубликуем новый твит из нашего кода, поскольку пользователь уже аутентифицирован. Давайте поместим сюда пример кода:

private static void updateTweet (Twitter twitter, String tweet) выбрасывает TwitterException
Статус status = twitter.updateStatus (твит);
Система.вне.println ("Успешно обновил статус до [" + status.getText () + "].");

Опубликовать новый твит так просто.

Пример: твиты от определенного пользователя

Получить твиты другого пользователя очень легко, просто передайте имя пользователя, и API вернет несколько недавних твитов для пользователя.

Попробуем вытащить последние двадцать твитов из твиттер-аккаунта @linuxhint:

Вот пример кода:

Список статусы = твиттер.getUserTimeline («linuxhint»);
для (Статус статуса: статусы)
Строка fmt = "@" + status.getUser ().getScreenName () + "-" + статус.getText ();
Система.вне.println (fmt);

Когда вы запустите эту программу, вы должны увидеть Tweets for LinuxHint.

Популярные приложения этого типа данных могут включать:

  • Проведение анализа конкретных пользователей и их взаимодействия с миром
  • Поиск влиятельных лиц в Твиттере и анализ тенденций их подписчиков и взаимодействия
  • Мониторинг изменений подписчиков пользователя

Пример: поиск твитов по ключевому слову

Давайте сделаем еще один пример: получение самых последних твитов, содержащих ключевое слово. Это может быть чрезвычайно полезно, если вы хотите отслеживать конкретно упомянутые темы в мире Twitter или даже видеть, как упоминается ваш бизнес.

Допустим, мы хотим увидеть, как Twitter упоминает Linux:

// searchTerm = Linux
private static void searchTweets (Twitter twitter, String searchTerm) выдает исключение TwitterException
Запрос запроса = новый запрос ("источник:" + searchTerm);
QueryResult result = twitter.поисковый запрос);
для (Статус статуса: результат.getTweets ())
Система.вне.println ("@" + status.getUser ().getScreenName () + ":" + status.getText ());

Вот несколько практических способов использования этой информации:

  • Создайте пространственный график того, где ваша компания упоминается больше всего в мире
  • Проведите анализ настроений в твитах, чтобы узнать, является ли общее мнение о вашей компании положительным или отрицательным
  • Создайте социальные графики самых популярных пользователей, которые пишут о вашей компании или продукте

Мы можем осветить некоторые из этих тем в будущих статьях.

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

Учебник Battle for Wesnoth
Битва за Веснот - одна из самых популярных стратегических игр с открытым исходным кодом, в которую вы можете играть сейчас. Эта игра не только очень д...
0 А.D. Руководство
Из множества существующих стратегических игр 0 A.D. удается выделиться как всеобъемлющее название и очень глубокая тактическая игра, несмотря на то, ч...
Учебное пособие по Unity3D
Введение в Unity 3D Unity 3D - мощный движок для разработки игр. Это кроссплатформенный, то есть он позволяет создавать игры для мобильных устройств, ...