Как экспортировать список пользователей, на которых вы подписаны в Twitter, в файл CSV
Ищете способ экспортировать список пользователей, на которых вы подписаны в Twitter, в файл CSV? В этой статье мы покажем вам, как сделать это с помощью Node.js и Twitter API.
Сначала вам нужно установить пакеты twitter
и csv-writer
. Вы можете сделать это, запустив команду npm install twitter csv-writer
в терминале.
const Twitter = require('twitter');
const createCsvWriter = require('csv-writer').createObjectCsvWriter;
const fs = require('fs');
Затем настройте клиент Twitter API, создав новый экземпляр класса Twitter
из пакета twitter
. Вам нужно будет указать ключ потребителя, секрет потребителя, ключ токена доступа и секрет токена доступа в качестве параметров при создании клиента.
// Настройка клиента Twitter API
const client = new Twitter({
// consumer_key: 'your_consumer_key',
// consumer_secret: 'your_consumer_secret',
// access_token_key: 'your_access_token_key',
// access_token_secret: 'your_access_token_secret'
});
После настройки клиента Twitter API настройте запись CSV с помощью метода createObjectCsvWriter
из пакета csv-writer
. Укажите путь, где вы хотите сохранить файл CSV, и определите заголовки для каждого столбца в файле CSV.
// Настройка записи CSV
const csvWriter = createCsvWriter({
path: 'following.csv',
header: [
{id: 'name', title: 'Имя'},
{id: 'screen_name', title: 'Имя пользователя'},
{id: 'description', title: 'Описание'},
{id: 'location', title: 'Местоположение'},
{id: 'url', title: 'URL'},
{id: 'followers_count', title: 'Подписчики'},
{id: 'friends_count', title: 'Подписки'},
{id: 'created_at', title: 'Дата регистрации'},
{id: 'verified', title: 'Проверенный'}
]
});
Теперь, когда все настроено, пришло время получить список пользователей, на которых вы подписаны в Twitter. Фрагмент кода использует рекурсивную функцию с названием getFollowing
, которая получает по 200 пользователей за раз (максимальное значение, разрешенное Twitter API), пока все страницы результатов не будут получены.
Функция использует метод client.get
из клиента Twitter API для отправки GET-запроса к конечной точке 'friends/list'
с параметрами, указывающими, что должно быть возвращено 200 пользователей на страницу, и предоставляющими значение курсора для пагинации. Курсор изначально установлен на -1 (первая страница) и обновляется с каждым последующим вызовом для получения дополнительных страниц результатов.
// Получение списка пользователей, на которых вы подписаны, и запись в CSV
let cursor = -1; // инициализация курсора на первой странице
let followingData = [];
Данные, возвращаемые каждым вызовом, добавляются в массив с названием followingData
, который хранит объекты, представляющие каждого пользователя в вашем списке подписок. Каждый объект содержит свойства, такие как имя, имя пользователя, описание, местоположение, URL, количество подписчиков, количество друзей (т.е. количество подписок), дата/время регистрации (т.е. когда они присоединились к Twitter) и проверено ли их аккаунт.
function getFollowing() {
client.get('friends/list', { count: 200, cursor: cursor }, function(error, following, response) {
if (error) throw error;
followingData = followingData.concat(following.users.map(user => ({
name: user.name,
screen_name: user.screen_name,
description: user.description,
location: user.location,
url: user.url,
followers_count: user.followers_count,
friends_count: user.friends_count,
created_at: user.created_at,
verified: user.verified
})));
// Проверка, есть ли еще страницы для получения
if (following.next_cursor_str != '0') {
cursor = following.next_cursor_str;
getFollowing();
} else {
// Запись данных о подписках в CSV
csvWriter.writeRecords(followingData)
.then(() => console.log('Список подписок загружен в файл following.csv'))
.catch(error => console.error(error));
}
});
}
Как только все страницы результатов будут получены (указывается, когда following.next_cursor_str == '0'
, что означает, что больше страниц нет), тогда все данные, хранящиеся в массиве followingData
, записываются в файл csv с помощью csvWriter.writeRecords(followingData)
.
getFollowing();
Вот и все! Запустите этот скрипт с помощью команды node в терминале, и вы должны увидеть сообщение "Список подписок загружен в файл following.csv", указывающее на успешную загрузку вашего списка подписок в Twitter в файл csv.
Вот ссылка на полный скрипт:
Следите за новыми трюками и советами!
xoraus - Обзор
В настоящее время вы не можете выполнить это действие. Вы вошли в систему в другой вкладке или окне. Вы вышли из системы в другой вкладке или...
github.com