Рубрики
Без рубрики

Как я автоматически создал список Twitter FreeCodeCammer за 5 минут

Автор оригинала: FreeCodeCapm Team.

Моника Пауэлл

Использование Twitton Twitter API обертка для добавления пользователей в список Twitter

Мы собираемся создать сценарий Python, который автоматически ищите Twitter для людей, которые используют #freecodecamp Hashtag и добавьте их в список Twitter «FreeCodeCammer». Списки Twitter Являются ли способ, чтобы пролить группу людей в Twitter и собирать все их твиты в потоке, без необходимости следовать за каждыми отдельными учетными записями. Списки Twitter могут содержать до 5000 отдельных учетных записей Twitter.

Мы можем достичь этого, сделав следующее:

  • Установка необходимых пакетов Python
  • Регистрация приложения с Twitter
  • Генерация и доступа к нашим учетным данным в Twitter
  • Делать твиттер Поиск и Список API звонки

Так что давайте начнем.

1. Установка необходимых пакетов Python

Создать файл с именем addtofreecodeCamplist.py , это будет содержать наш главный скрипт, а затем импортировать два модуля Python в этот файл:

  • Импорт конфигурации: В том же каталоге, что и наше addtofreecodeCamplist.py Сценарий, создать файл с именем config.py . Что хранит наши конфиденциальные учетные данные Twitter API. Мы собираемся импортировать наши учетные данные API из этого файла в наше addtofreecodeCamplist.py Сценарий, включая линию Импорт конфигурации Отказ Twitter требует допустимого ключа API, секрет API, токен доступа и секрет токена для всех запросов API.
  • Импорт Teqython: Twython Является ли Python Wrapper для API Twitter, которая облегчает программно доступу и манипулировать данными из Twitter с помощью Python. Мы можем импортировать Tepthon со следующей линией от Twython Import Twython, TwythonError Отказ

Ваш addtofreecodeCamplist.py Сценарий должен теперь выглядеть так.

import configfrom twython import Twython, TwythonError

2. Регистрация приложения с Twitter

Нам нужно аутентифицировать наше приложение для доступа к API Twitter. Вам необходимо иметь учетную запись Twitter для доступа к Сайт управления приложениями Twitter Отказ Сайт управления приложениями находится в том, где вы можете просматривать/редактировать/создавать ключи API, секреты API, токены доступа и секреты токена.

  1. Для того, чтобы создать эти учетные данные, нам нужно создать приложение Twitter. Перейдите на сайт управления приложениями и нажмите «Создать новое приложение». Это должно направить вас на страницу, которая выглядит похоже на приведенную ниже.

2. Заполните из необходимых полей и нажмите «Создайте приложение Twitter». Затем вы будете перенаправлены на страницу с подробностями о вашем приложении.

3. Создание и доступов на наших учетных данных Twitter

  1. Нажмите на вкладку, которая написана «ключи и доступ к тонкам» и скопируйте «ключ для потребителей (ключ API)» и «Secrement Secret (SENTER API)» в config.py . файл
  2. Прокрутите вниз до нижней части страницы и нажмите «Создать мой токен доступа». Скопируйте генерируемый «токен доступа» и «Доступ к секрету токена» в config.py . файл.

Для справки я рекомендую форматировать ваш config.py, аналогичный файлу ниже:

3. В настоящее время все наши учетные данные Twitter живут внутри наших config.py . файл и мы импортировали config . в нашу addtofreecodeCamplist.py файл. Однако мы фактически не передали никакой информации между файлами.

Давайте изменим, что путем создания объекта Twython и прохождение в необходимой ключ API, секреты API и токен API из наших config.py . Файл со следующим:

twitter = Twython(config.api_key, config.api_secret, config.access_token, config.token_secret)`

addtofreecodeCamplist.py Файл должен теперь выглядеть похожим на это:

import config
from twython import Twython, TwythonError
# create a Twython object by passing the necessary secret passwordstwitter = Twython(config.api_key, config.api_secret, config.access_token, config.token_secret)

4. Создание поиска в твиттере и список вызовов API

  1. Давайте сделаем вызов API для поиска Twitter и вернуть 100 последних твитов (исключая ретветы), которые содержат «#freeCodeCamp»:
# return tweets containing #FreeCodeCampresponse = twitter.search(q='"#FreeCodeCamp" -filter:retweets', result_type="recent", count=100)

2. Посмотрите на твиты, возвращенные из нашего поиска

# for each tweet returned from search of #FreeCodeCampfor tweet in response['statuses']: # print tweet info if needed for debugging print(tweet) print(tweet['user']['screen_name'])

Один Tweet, возвращенный этим вызовом API, выглядит как это в JSON:

{'created_at': 'Sun Dec 24 00:23:05 +0000 2017', 'id': 944725078763298816, 'id_str': '944725078763298816', 'text': 'Why is it so hard to wrap my head around node/express. Diving in just seems so overwhelming. Templates, forms, post… https://t.co/ae52rro63i', 'truncated': True, 'entities': {'hashtags': [], 'symbols': [], 'user_mentions': [], 'urls': [{'url': 'https://t.co/ae52rro63i', 'expanded_url': 'https://twitter.com/i/web/status/944725078763298816', 'display_url': 'twitter.com/i/web/status/9…', 'indices': [117, 140]}]}, 'metadata': {'iso_language_code': 'en', 'result_type': 'recent'}, 'source': 'Twitter Web Client', 'in_reply_to_status_id': None, 'in_reply_to_status_id_str': None, 'in_reply_to_user_id': None, 'in_reply_to_user_id_str': None, 'in_reply_to_screen_name': None, 'user': {'id': 48602981, 'id_str': '48602981', 'name': 'Matt Huberty', 'screen_name': 'MattHuberty', 'location': 'Oxford, MS', 'description': "I'm a science and video game loving eagle scout with a Microbio degree from UF. Nowadays I'm working on growing my tutoring business at Ole Miss. Link below!", 'url': 'https://t.co/dfuqNNoBYZ', 'entities': {'url': {'urls': [{'url': 'https://t.co/dfuqNNoBYZ', 'expanded_url': 'http://www.thetutorcrew.com', 'display_url': 'thetutorcrew.com', 'indices': [0, 23]}]}, 'description': {'urls': []}}, 'protected': False, 'followers_count': 42, 'friends_count': 121, 'listed_count': 4, 'created_at': 'Fri Jun 19 04:00:44 +0000 2009', 'favourites_count': 991, 'utc_offset': -28800, 'time_zone': 'Pacific Time (US & Canada)', 'geo_enabled': False, 'verified': False, 'statuses_count': 199, 'lang': 'en', 'contributors_enabled': False, 'is_translator': False, 'is_translation_enabled': False, 'profile_background_color': 'C0DEED', 'profile_background_image_url': 'http://abs.twimg.com/images/themes/theme1/bg.png', 'profile_background_image_url_https': 'https://abs.twimg.com/images/themes/theme1/bg.png', 'profile_background_tile': False, 'profile_image_url': 'http://pbs.twimg.com/profile_images/777294001598758912/FVOIrnb4_normal.jpg', 'profile_image_url_https': 'https://pbs.twimg.com/profile_images/777294001598758912/FVOIrnb4_normal.jpg', 'profile_banner_url': 'https://pbs.twimg.com/profile_banners/48602981/1431670621', 'profile_link_color': '1DA1F2', 'profile_sidebar_border_color': 'C0DEED', 'profile_sidebar_fill_color': 'DDEEF6', 'profile_text_color': '333333', 'profile_use_background_image': True, 'has_extended_profile': True, 'default_profile': True, 'default_profile_image': False, 'following': False, 'follow_request_sent': False, 'notifications': False, 'translator_type': 'none'}, 'geo': None, 'coordinates': None, 'place': None, 'contributors': None, 'is_quote_status': False, 'retweet_count': 1, 'favorite_count': 0, 'favorited': False, 'retweeted': False, 'lang': 'en'}MattHuberty

И, как это на twitter.com:

3. Добавьте твитенты в свой список Twitter

Чтобы добавить автора Tweet в наш список Twitter, нам нужно имя пользователя, связанное с Tweet Tweet ['user'] ['screen_name']

Давайте попробуем добавить пользователей из этих твитов в наш список Twitter «FreeCodeCampmers». Я создал свой список Twitter на https://twitter.com/water vateworkheart/Lists/freeCodecampers что означает для моего сценария, слизняк FreeCodecampers и ustral_screen_name мой, водонепроницаемыйheart.

for tweet in response['statuses']:
# try to add each user who has tweeted the hashtag to the list try: twitter.add_list_member(slug='YOUR_LIST_SLUG', owner_screen_name='YOUR_USERNAME', screen_name= tweet['user']['screen_name'])
#if for some reason Twython can't add user to the list print exception messageexcept TwythonError as e: print(e)

Вы можете создать свой собственный список Twitter, навигации по вашему профилю Twitter, нажав на «Списки» на рабочем столе и нажав на правую сторону, чтобы «Создать новый список». Просмотр Официальный список в Твиттере Документация для дополнительной информации.

Вы можете проверить свой скрипт, запустив python addtofreecodecamplist.py . в терминале.

Мой последний скрипт выглядит так:

Этот скрипт может быть установлен для автоматического запуска локально или удаленно через Cron Job который позволяет выполнять задачи в расписании набора.

Не стесняйтесь комментировать ниже или Чирикать на меня Если у вас есть какие-либо вопросы, предложения или хочется поделиться, как вы изменили этот скрипт!

Если вам понравилось прочитать эту статью, посмотрите, постукивая кнопку CLAP? Хотите увидеть больше моей работы? Проверить М. Y Github Чтобы просмотреть мой код и узнать больше о моем опыте разработки в H TTP://aboutmonica.com.