Java

Урок за Twitter4J

Урок за Twitter4J
В този урок ще използваме библиотека Twitter4J за извличане на данни от Twitter. Twitter се занимава с Big Data всеки ден, но какво е всъщност? Ще имаме много кратък преглед на големите данни, преди да се потопим в извличане на данни от Twitter.

Защо да копая Twitter?

Twitter е идеалното място за изтегляне на данни. Ето няколко причини, поради които това е вярно:

Приготвяме се да започнем

След като вече обосновахме защо използваме тази платформа, нека започнем да събираме нашите инструменти. За този урок ще използваме Java 8, но не се колебайте да използвате горепосочените версии (въпреки че може да са необходими някои ощипвания, а не туитове, за да ги използвате).

Ще използваме библиотека на Java, наречена Twitter4J, за да се свържем с API на Twitter.

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

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

Нека да създадем приложение за Twitter и да вземем правилните клавиши, за да продължим напред.

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

След като проектът е създаден, трябва да видите страница със следния заглавие:

Тези стойности ще ни трябват по-късно, така че ще бъде по-добре този раздел да остане отворен.

Първи стъпки с Twitter4J

Twitter4J е неофициално Java библиотека за Twitter API. С Twitter4J можем лесно да интегрираме нашето Java приложение с услугата Twitter.

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

За начало ще добавим подходяща зависимост на Maven към нашия проект Java.


орг.twitter4j
twitter4j-core
4.0.6

Намерете най-новата версия на Maven зависимост тук.

Удостоверяване

Сега добавихме необходимата зависимост на Maven. Време е да започнем да разговаряме с API и Twitter.

За да започнем разговора, трябва да удостоверим повикванията си към Twitter, така че той да знае, че само известен потребител има достъп до данните. За това нека настроим нашите ключове, които получихме по-рано.

статичен окончателен низ CONSUMER_KEY = "вие-ключ";
статичен окончателен низ CONSUMER_SECRET = "тайна";
статичен финален низ ACCESS_TOKEN = "маркер";
статичен финален низ ACCESS_TOKEN_SECRET = "секретна токен";
публичен статичен 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.изграждане ());
връщане tf.getInstance ();

Пример: Показване на хронология

В този пример ще покажем някои от най-новите туитове от времевата линия на удостоверения потребител. Ще направим това, като използваме екземпляра на Status на обекта на Twitter като:

частно статично празно шоуHomeTimeline (Twitter Twitter)
Списък статуси = нула;
опитвам
статуси = twitter.getHomeTimeline ();
Система.навън.println ("Показване на началната времева линия.");
за (Състояние на състоянието: статуси)
Система.навън.println (статус.getUser ().getName () + ":" + статус.getText ());
String url = "https: // twitter.com / "+ статус.getUser ().getScreenName () + "/ status /"
+ статус.getId ();
Система.навън.println ("URL адрес над туит:" + url);

catch (TwitterException e)
д.printStackTrace ();

Резултатът трябва да изглежда като куп случайни туитове:

Следването на връзката към туит често ще ви отведе до самия туит. Следвайки връзката от първия туит ще ни даде следния резултат:

Освен потребителското име и текста в Twitter, API на Twitter има много информация, която може да се изведе от следните налични методи:

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

Това дава много информация, свързана с туит и потребителя, публикувал туит. Те включват не всички методи, не се колебайте да проучите всички налични методи.

Имайте предвид, че тези атрибути могат да бъдат изключително полезни, ако вашето приложение зависи от повече данни.

Пример: Публикувайте туит

В този пример просто ще публикуваме нов туит от нашия код, тъй като потребителят вече е удостоверен. Нека поставим примерния код тук:

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

Публикуването на нов туит е толкова просто.

Пример: Туитове от конкретен потребител

Много е лесно да получите други потребителски туитове, просто предайте потребителско име и API ще върне някои скорошни туитове за потребителя.

Нека опитаме да изтеглим последните двадесет туитове от Twitter акаунт @ linuxhint:

Ето примерния код:

Списък статуси = twitter.getUserTimeline (“linuxhint”);
за (Състояние на състоянието: статуси)
Низ fmt = "@" + статус.getUser ().getScreenName () + "-" + статус.getText ();
Система.навън.println (fmt);

Когато стартирате тази програма, трябва да видите Tweets за LinuxHint.

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

  • Извършване на анализ на конкретни потребители и как те взаимодействат със света
  • Намиране на влиятелни лица в Twitter и анализ на тенденциите и взаимодействията на техните последователи
  • Наблюдение на промените в последователите на потребител

Пример: Намиране на туитове с помощта на ключова дума

Нека направим един последен пример: Получаване на най-новите туитове, които съдържат ключова дума. Това може да бъде изключително полезно, ако искате да наблюдавате конкретно споменатите теми в света на Twitter или дори да видите как се споменава вашият бизнес.

Да кажем, че искаме да видим как Twitter споменава Linux:

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

Ето няколко практически начина, по които можете да използвате тази информация:

  • Създайте пространствена графика за това къде вашата компания се споменава най-много по света
  • Изпълнете анализ на настроенията на туитове, за да видите дали цялостното мнение на вашата компания е положително или отрицателно
  • Създайте социални графики на най-популярните потребители, които пишат за вашата компания или продукт

Можем да покрием някои от тези теми в бъдещи статии.

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

Преглед на безжична мишка на Microsoft Sculpt Touch
Наскоро прочетох за Microsoft Sculpt Touch безжична мишка и реших да я купя. След като го използвах известно време, реших да споделя опита си с него. ...
Екранен тракпад и указател на мишката на AppyMouse за таблети с Windows
Потребителите на таблети често пропускат показалеца на мишката, особено когато са привични да използват лаптопите. Смартфоните и таблетите със сензоре...
Средният бутон на мишката не работи в Windows 10
The среден бутон на мишката ви помага да превъртате дълги уеб страници и екрани с много данни. Ако това спре, добре ще свършите да използвате клавиату...