Достъп до Twitter от командния ред
Използвайте Twitter, за да се изгради и интересни приложения за командния ред
Arpan сенатор Технически директор, Synapti Компютърно проектиране Pvt Ltd
Arpan Sen (Arpan Sen) - олово инженер работи върху разработването на софтуер в областта на електронното автоматизация дизайн. В продължение на няколко години той е работил по някои UNIX функции, включително Solaris, SunOS, HP-UX и IRIX, както и Linux и Microsoft Windows. Той взе силен интерес към методите на оптимизиране на ефективността на софтуер, теория на графите, както и паралелни изчисления. Arpan е завършил в софтуерни системи.
Инсталиране на скъпоценен камък-пакет за Twitter
За достъп до Twitter в Ruby има няколко скъпоценни пакети (вж. Връзки към допълнителна информация в раздел "Ресурси"). В тази статия, аз избрах Twitter пакет. Това Ruby-обвивка за Twitter, написана от Джон Nyunmeykerom (Йоан Nunemaker). Инсталирайте този пакет със следната команда:
Тази команда ще създаде клиента Twitter на вашия компютър. Ако имате специален инсталационната директория за скъпоценни пакети, скриптът ще трябва първо да пакет за обаждания RubyGems. и след това кикотене пакет. както е показано по-долу:
Първият Twitter сценария
Сега можем да се създаде първата ни приложение, предназначени за проследяване на местоположението на хора, които се интересувате. Започнете със създаване на скрипт, който приема като вход Twitter акаунт потребителско име и от нея се удържат сегашното си място. Обява 1 privoden код за такъв сценарий.
Обява 1. проследяване на местоположенията на потребители
Какво се случва в тази програмка? Ако не сте много добре запознати с рубина, на ARGV - масив, чрез които сценария има достъп до параметрите на командния ред. Call Twitter.user връща голямо количество информация за потребителя, но в момента ние сме само се интересуват от местоположението. Изпълнете скрипта, за да разберете къде са те в момента, Лейди Гага (Lady Gaga), Аштън Къчър (aplusk) и OPFR Уинфри (Orphah).
Търси потребители и удостоверяване на Twitter
Сега, нека да намери някакъв конкретен потребител вече е регистриран в Туитър. Ако можете да си представите името на профила, Twitter за този потребител, а след това просто да използвате следния ред:
Въпреки това е малко вероятно, че ще бъде в състояние постоянно да предполагам Twitter потребителски идентификатори. В този случай, ние се нуждаем от функционалността за търсене на потребителя за името на неговата сметка. Това ще ни доведе до следващата част от код, търсене за всички потребители с името Arpan.
Въпреки това, изпълнението на този код ще се провали. Обява 2 показва съобщение за грешка, обяснява същността на проблема.
Обява 2. Съобщението за грешка, което е настъпило, когато потребителят търси
- Потребителски ключ - (User ключ);
- Consumer тайно означение - (тайното потребителско означение);
- Ключ на консуматора OAuth - (User OAuth ключ);
- Consumer OAuth тайно означение - (Secret Потребителят OAuth-маркер).
Сега в Ruby код, трябва да постави тези ценности в Twitter.configure обект. както е показано на Обявата 3.
Обява 3. Конфигуриране на сценарий за допълнително удостоверяване
Имайте предвид, че в Обява 3 за попълване на атрибути, използвани от извадковите данни, а вие ще трябва да използвате стойността, който сте получили. След удостоверяване се извършва, можете да намерите всички потребители, които използват този в Arpan. С помощта на сценарий е показано на Обявата 4.
Обява 4. Търсене на потребители на Twitter
Сега можете да запишете скрипта във файл и да стартирате search_for.rb неговият екип ./search_for.rb Arpan. за да получите списък с имена, посочени в обявата 5.
Обява 5. Резултати стартиране код от фигура 4
Можете да очаквате да видите някои големи резултати. Име Arpan (Arpan) - това е доста често срещан индийски име, така че защо да се намери само на няколко потребители със същото име? Това се дължи на факта, че user_search на повикване може да получи допълнителен вход (Ruby хеш-таблица); възможно е да се уточни опциите, които могат да помогнат върне повече резултати. Следователно, малка промяна на кода в Обява 5 за предаване на таблицата на хеш (#), напълнена с изискваните стойности. Например, ако искаме да намерим резултатът бе представен като съвкупност от страници, всяка от които ще съдържа 15 записи, можете да използвате кода в Обява 6.
Обява 6. Показване намерени 15 записа на страница
Означава ли това, че можете да изход сто записи на страница? Не, защото Twitter.user_search предизвикателство ограничава максималния брой на записи на страница двадесет записи. В Обява 7, намалената код, който ви позволява да получите 10 страници, съдържащ 20 записа.
Обява 7. Показани 20 записа намерен на страницата
Това е по-добре, защото сега показва името, което е посочено в информацията за потребителите, и псевдонима, определен от потребителя. Нека да преминем към по-сложни задачи, и се опитайте да намерите потребител с името Ник. В момента той е в Ню Йорк (Ню Йорк) и любители на Ruby. Можете да получите информация за името и местоположението на потребителя user_search повикването. но как да разберете отношението на потребителя да Руби? За да направите това, ще трябва да проучи още една възможност да Twitter API: Персонализирани клиенти от търсенето (персонализирани търсещи клиенти).
Използване на клас Twitter :: Търсене
Клас Twitter :: Търсене може да се използва за създаване на клиенти за специално търсене, както е показано на Обява 8.
Обява 8. Пример за клас Twitter :: Търсене
Какво се случва в тази програмка? Тя започва със създаването на клиент търсене, като се обадите Twitter :: Search.new. След това можете да използвате клиент за търсене за всички туитове (Съобщения) на съответния потребител, които съдържат думата рубина. В края на разговора донесе връща масив с резултатите и ако думата рубина се споменава в туита на потребителя повече от 10 пъти, това може да означава, интереса си към този език за програмиране.
Опитайте се да извлечете множество туитове с #ruby таг с кода показани по-долу:
Но това не е всичко, тъй като най-вероятно очаква да получи стотици записи за този популярен маркер диез като #ruby. Отново използвайте клиента за търсене, за да изтеглите резултатите си по страница. Кодът на Обява 9 извлича 10 страници, съдържащи туитове, посветени на езика Ruby.
Обява 9. Display няколко страници, получена в резултатите от търсенето
Допълнителните функции в търсенето Twitter
Разбира се, можете да последователно свързване на няколко условия, както е показано по-долу.
Търсене на конкретна фраза също се извършва интуитивно просто като в примера по-долу:
След като научава, всички от тях необходимата информация, ние можем да се пристъпи към по-сложни задачи!
Ограничение на броя на заявките към Twitter
Тъй като ние продължаваме да се проучат възможностите за Twitter, че е време да се научат друг важен аспект в работата с Twitter, който се нарича ограничаване на скоростта (ограничение на броя на заявките за изпълнена). Twitter е много сериозно за това ограничение, което позволява на вашия скрипт за извършване на един час само определен брой заявки. Както видяхме, някои видове приложения не изискват изрично удостоверяване, а други трябва да се идентифицират, преди да пуснете заявката. За приложения, които не използват OAuth -marker, ограничението е 150 заявки на час, приложният този маркер може да носи до 350 заявки на час. Съответната информация за политиката на Twitter, за да се ограничи максималния брой заявки могат да бъдат намерени в раздел "Ресурси". За да видите текущото си лимит, добавете следния ред в скрипта, който съдържа код за удостоверяване на Twitter.
В резултат на това скрипта за стартиране ще покаже съобщение, подобно на следното:
Можете също да направите следното, за да насочите актуална информация за останалата част от сумата на заявките в кода си.
По-долу е информация за максималния възможен брой на заявките в случай на удостоверяване деактивира, а имайте предвид, че 50% от наличните заявки вече са похарчени.
Актуализиране на състоянието на Twitter ретуитовете и други функции
Завършете върху изучаването на възможностите за търсене на Twitter и научете как можете да актуализирате състоянието си на Twitter използвате скрипт. За да направите това, ние трябва само един ред (въпреки че, разбира се, сценарият трябва да се намира и код за удостоверяване).
Запази този код в update.rb файл и го наричат от командния ред, както е показано по-долу.
Сега, актуализацията се появява на страницата ни сметка Twitter. Комуникацията е естествената функционалността на Twitter, така че ние можем лесно да изпратите съобщение до друг потребител.
Изпращане на съобщение за определяне на получателя или екранно име на потребителя, можете да използвате (име екран) или неговия числов идентификатор. Също така присъства на Twitter интересна функция, която осигурява бърз достъп до най-новите изпратени или получени частни съобщения 20.
Разбира се, че би било интересно да разберете кой се позовава на мнения, но, за съжаление, да го направи пряко чрез retweets_of_me повикване не успее. За тази цел втори API повикване - retweeters_of. Позволете ми да ви напомня, че всяко съобщение има уникален идентификатор, който трябва да бъде приет през retweeters_of за повикване. както е показано в Пример 10.
Обява 10. Търсене на потребители, които сочат към публикациите си
Какво друго мога да направя с Twitter
С помощта на тези сценарии, можете да извършвате много други интересни занимания. Например, ако искате да знаете какви теми са най-популярните в световната общност на Twitter в момента, тогава следния код ще върне списък, който съдържа 10 от най-популярните теми.
Twitter специално ограничава размера на този списък от десет записи (обяснението за това може да се намери в раздел "Ресурси"). Но обикновено хората се интересуват от теми, свързани с региона, в който живеят. Twitter може да предостави тази информация, ако посочите WOEID-област идентификатор (ID, където върху земята) и ако в региона се извършва оценката. Така че мога да видя какви теми са популярни в Индия:
Също така е лесно с помощта на скрипт, можете да получите списък на потребителите, че Twitter се препоръчва като най-популярните в определен въпрос.
Обява 11. Популярни потребители, които пишат по теми технологии
Ние ще приключи нашата статия, за да намерите най-популярните читателите (по отношение на Twitter последователи) блога известен крикет играч Sachin Tendulkar (Sachin Tendulkar). Identifier сметка Sachin - sachin_rt. Можете да видите броя на читателите на блога си, като се обадите Twitter.user ( "sachin_rt"). FOLLOWER_COUNT и проверка на автентичността на профила си, използвайки Twitter.user повикване ( "sachin_rt"). Verified.
Сега с помощта Twitter.follower_ids разговора ( "sachin_rt") можете да видите броя на Sachin читателите на блогове. По подразбиране, ще получите списък от 5000 потребители, и това е дори повече, отколкото имаме нужда. За да научите как да получите пълен списък на читателите могат да прочетете документацията Twitter теми за работата си с приятели (приятели) и читатели (последователи), с помощта на Twitter API. Ето как да го направите:
Сега изберете от тези 5000 потребители 50 има максимален брой читатели.
Символ. след извикването на сортиране това показва, че метод на сортиране модифицира предава директно да го масив и връща с нова. Между скоби <> Това е кодът, който сравнява. Този пример показва, друго предимство Ruby: проблем, чието решаване в C ++ ще изисква 20 реда код, ние бяхме в състояние действително да се реши в един ред код.
заключение
Създаване на командния ред скриптове за Twitter - това е интересно упражнение, което ви дава възможност, че (все още) не може да се получи от Twitter "естествен начин" чрез потребителския интерфейс. Например, можете да търсите за конкретни потребители в съответствие с техните собствени критерии (от местните потребители, които се интересуват от определени технологии, свързани с експерти от цял свят), или да публикуват мнения директно от командния ред. В заключение бих искал да дам два други важни съвети. Twitter много сериозно да ограничи максималния брой заявки, така че резултатите трябва да бъдат кеширани в кода. Също така не забравяйте да прегледате ресурси на REST API Twitter. предизвикателства, които са постоянно използвани клиенти на Twitter в другата, на API повиквания. В този сбогом, и ти желая приятни изживявания при използване Twitter!
Вземете продукти и технологии
- Научете повече за Twitter Ruby API.
- Ако се интересувате от функции, Ruby, въведени в тази книга, а след това да се запознаете с пълната документация на езика.