- Сообщений: 10
- Спасибо получено: 0
Как создать и настроить свой веб-сервер на VDS (05 сен 2024)
Осенью самое время заняться установкой и тюнингом своего веб-сервера. Не правда ли?
Получение твиттер-фолловеров в csv
- yotson
- Автор темы
- Не в сети
- Новый участник
Less
Больше
6 года 7 мес. назад #1
от yotson
yotson создал тему: Получение твиттер-фолловеров в csv
Возможно ли получить всех твиттер-фолловеров аккаунта в csv-файл? Был бы благодарен за развернутый ответ, впервые по работе возникла такая задача.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- serge
- Не в сети
- Модератор
Less
Больше
- Сообщений: 986
- Спасибо получено: 146
6 года 7 мес. назад #2
от serge
А я смогу! - А поглядим! - А я упрямый!
serge ответил в теме Получение твиттер-фолловеров в csv
Док, вы не уточнили, на каком именно языке программирования / фреймворке ищете решение.
Потому перенес покамест ваш вопрос в актуальную для нас категорию Ruby on Rails, на этом фреймворке задача решается крайне несложно, привожу здесь одно из целого ряда возможных решений.
Источник: github.com/gcba/get_twitter_followers
Потому перенес покамест ваш вопрос в актуальную для нас категорию 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
А я смогу! - А поглядим! - А я упрямый!
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- yotson
- Автор темы
- Не в сети
- Новый участник
Less
Больше
- Сообщений: 10
- Спасибо получено: 0
6 года 7 мес. назад #3
от yotson
yotson ответил в теме Получение твиттер-фолловеров в csv
попробую, отпишусь.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.
- Aleksej
- Не в сети
- Модератор
6 года 6 дн. назад - 6 года 6 дн. назад #4
от Aleksej
Aleksej ответил в теме Получение твиттер-фолловеров в csv
Собсно, продолжение сабжа Как получить последователей любого Твиттер-аккаунта - в csv файл.
Оформил в виде rails-приложения, которое в любой момент без проблем скачать/клонировать с гитхаба.
Ну, а здесь - короткой строкой.
controller
class
Класс позволяет, после получения перечня фолловеров в файл csv - еще и отправить им всем и каждому по очереди текстовое сообщение, чего делать очень не рекомендую: код приведен сугубо в общеобразовательных целях. В скобках: вероятнее всего, твиттер вам уже подобного и не позволит, он очень серьезно настроен сегодня на борьбу со спамом. Но, тем не менее, в считанные минуты и полностью в автоматическом режиме получить список читателей любого, самого раскрученного и звездного аккаунта вам никто и ничто не помешает.
Более интересным, на мой взгляд, решением набора инструментов для работы с Твиттер -аккаунтом является Twitter-toolkit-onRails, см. в том же GitHub-e. Тулза на сегодняшний день реализует следующие возможности: ответный фолловинг, анфолловинг, постинг твитов и ретвиты, подробнее в блоге ; но, разумеется, с учетом ограничений и лимитов, налагаемых API Twitter.
Оформил в виде 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.
Пожалуйста Войти или Регистрация, чтобы присоединиться к беседе.