Как создать и настроить свой веб-сервер на VDS (05 сен 2024)

Осенью самое время заняться установкой и тюнингом своего веб-сервера. Не правда ли?

Получение твиттер-фолловеров в csv

Больше
6 года 7 мес. назад #1 от yotson
Возможно ли получить всех твиттер-фолловеров аккаунта в csv-файл? Был бы благодарен за развернутый ответ, впервые по работе возникла такая задача.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Dev banner 2
Больше
6 года 7 мес. назад #2 от serge
Док, вы не уточнили, на каком именно языке программирования / фреймворке ищете решение.
Потому перенес покамест ваш вопрос в актуальную для нас категорию Ruby on Rails, на этом фреймворке задача решается крайне несложно, привожу здесь одно из целого ряда возможных решений.
Источник: github.com/gcba/get_twitter_followers

Code:
require 'twitter' require "csv" client = Twitter::REST::Client.new do |config| config.consumer_key = "XXX" config.consumer_secret = "XXX" config.access_token = "XXXXXX" config.access_token_secret = "XXX" end def get_follower_ids(client, user_id) follower_ids = [] next_cursor = -1 while next_cursor != 0 cursor = client.follower_ids(user_id, :cursor => next_cursor) follower_ids.concat cursor.attrs[:ids] next_cursor = cursor.send(:next_cursor) end follower_ids end def get_friend_ids(client, user_id) friend_ids = [] next_cursor = -1 begin while next_cursor != 0 cursor = client.friend_ids(user_id, :cursor => next_cursor) friend_ids.concat cursor.attrs[:ids] next_cursor = cursor.send(:next_cursor) end rescue Twitter::Error::Unauthorized [] end friend_ids end def get_followers_info(client) friends = [] get_follower_ids(client, client.user.id).each_slice(100) do |ids| friends.concat client.users(ids) end friends end CSV.open("followers.csv", "w") do |csv| followers = get_followers_info(client) total = followers.count followers.each_with_index do |user, index| print "\r#{index}/#{total} completo" csv << [user.id, user.name, user.description, user.location, user.uri.to_s] end end

А я смогу! - А поглядим! - А я упрямый!

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
6 года 7 мес. назад #3 от yotson
попробую, отпишусь.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Больше
6 года 6 дн. назад - 6 года 6 дн. назад #4 от Aleksej
Собсно, продолжение сабжа Как получить последователей любого Твиттер-аккаунта - в csv файл.
Оформил в виде rails-приложения, которое в любой момент без проблем скачать/клонировать с гитхаба.
Ну, а здесь - короткой строкой.

controller
Code:
class TwiController < ApplicationController def index client = Twitter::REST::Client.new do |config| config.consumer_key = ENV['TWI_KEY'] config.consumer_secret = ENV['TWI_SECRET'] config.access_token = ENV['TWI_TOKEN'] config.access_token_secret = ENV['TWI_TOKEN_SECRET'] end #user_id = "adamasmit" user_id = 1057006381541322752 Twi.get_followers(client, user_id) end end

class
Code:
class Twi def self.get_followers(client, user_id) follower_ids = [] next_cursor = -1 while next_cursor != 0 cursor = client.follower_ids(user_id, :cursor => next_cursor) follower_ids.concat cursor.attrs[:ids] next_cursor = cursor.send(:next_cursor) end followers = [] follower_ids.each_slice(100) do |ids| followers.concat client.users(ids) end arr = [] CSV.open("followers.csv", "w") do |csv| total = followers.count followers.each_with_index do |user, index| puts "\r#{index}/#{total} complete" csv << [user.screen_name] arr << user.screen_name end end arr.each do |i| puts client.update('@' + i + ' How are you?') puts "#{Time.now}" sleep rand(1..10) end end end

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

Более интересным, на мой взгляд, решением набора инструментов для работы с Твиттер -аккаунтом является Twitter-toolkit-onRails, см. в том же GitHub-e. Тулза на сегодняшний день реализует следующие возможности: ответный фолловинг, анфолловинг, постинг твитов и ретвиты, подробнее в блоге ; но, разумеется, с учетом ограничений и лимитов, налагаемых API Twitter.
Последнее редактирование: 6 года 6 дн. назад пользователем Aleksej.

Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.

Работает на Kunena форум