[PYTHON] Suivez en spécifiant les conditions à l'aide de tweepy

introduction

Il est souvent suivi sur Twitter, mais il est gênant et gênant de vérifier l'utilisateur et de renvoyer le suivi à chaque fois. J'ai donc posté un article car ce serait pratique si je pouvais les suivre tous à la fois en précisant les conditions appropriées (probablement nième décoction).

N'aie pas peur

Je vais vous présenter comment suivre (suivre) les utilisateurs qui suivent mais ne reviennent pas en utilisant tweepy, qui peut facilement gérer l'API Twitter avec le module python!

Il y a deux conditions à suivre cette fois

(Je pense qu'il existe divers autres critères de suivi tels que la différence entre le nombre de followers et de followers, les loisirs et les goûts ...)

Kaihatsukankyo

OS X 10.9.4 (Marvericks) python 2.7.5 tweepy 2.3 http://www.tweepy.org/

Jizenjunbi

Obtenez un jeton d'accès auprès des développeurs Twitter

Twitter Developers https://dev.twitter.com/

L'URL suivante est très facile à comprendre sur la façon d'obtenir un jeton d'accès. Suivez les étapes 1 et 2 pour obtenir un jeton d'accès. http://syncer.jp/twitter-api-how-to-get-access-token

Introduit tweepy 2.3

Introduisez tweepy avec le système de gestion de paquets de python pip (si vous pouvez utiliser pyenv, utilisez-le également) Fondamentalement, il est recommandé d'installer la dernière version, mais comme les spécifications de tweepy changent fréquemment, la méthode de spécification de version est décrite pour le moment. pip install tweepy==2.3

Flux de processus

  1. Obtenez l'API après l'authentification
  2. Obtenez tous les objets utilisateur pour un suivi mutuel avec vous-même
  3. Obtenez tous les objets utilisateur de vos abonnés
  4. Suivez les utilisateurs non suivis s'ils répondent aux critères

Code source

follow_back.py



#!/usr/bin/env python
# -*- coding: utf-8 -*-
import datetime
import logging

import tweepy


def get_api():
    API_KEY = "api key"
    API_SECRET = "api secret"
    ACCESS_TOKEN = "access token"
    ACCESS_TOKEN_SECRET = "access token secret"

    auth = tweepy.OAuthHandler(API_KEY, API_SECRET)
    auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)

    return tweepy.API(auth_handler=auth, wait_on_rate_limit=True)

def get_all_my_friends(api):
    all_my_friends = list()
    for friend in tweepy.Cursor(api.friends).items():
        logger.warning('Retrieving data from Twitter.')
        all_my_friends.append(friend)
    return  all_my_friends

def get_all_my_followers(api):
    all_my_followers = list()
    for follower in tweepy.Cursor(api.followers).items():
        logger.warning('Retrieving data from Twitter.')
        all_my_followers.append(follower)
    return all_my_followers

def follow_user_with_conditions(target_user, upper_limit_of_friends=2000, upper_limit_of_crazy=50):
    twitter_experience_days = (datetime.datetime.now() - target_user.created_at).days
    crazy = target_user.statuses_count * 1. / twitter_experience_days

    if target_user.friends_count < upper_limit_of_friends and crazy < upper_limit_of_crazy:
        target_user.follow()
        print u"Nom d'utilisateur:{0:15}Nombre de tweets:{1:<9d}Degré d'abandon(tweets/a day):{2:.2f}".format(target_user.screen_name, target_user.statuses_count, crazy)
        return True
    return False


if __name__ == "__main__":

    FORMAT = '%(asctime)s - %(name)s - %(message)s'
    logging.basicConfig(format=FORMAT)
    logger = logging.getLogger('twitter_api')

    api = get_api()

    all_my_friends = get_all_my_friends(api)

    all_my_followers = get_all_my_followers(api)

    #Suivez les utilisateurs qui sont des followers et qui ne se suivent pas
    for unknown_follower in all_my_followers:
        if unknown_follower not in all_my_friends:
            follow_user_with_conditions(unknown_follower)

Hosoku

en conclusion

Dans cet article, j'ai présenté comment suivre en utilisant tweepy. Le nombre de suivis mutuels et le nombre de tweets par jour ont été fixés comme conditions de suivi.

Perspectives d'avenir

En tant que méthode d'extension à l'avenir, il faudra du temps pour être réglementé car vous frapperez fréquemment l'API, mais vous pouvez obtenir jusqu'à 3200 commentaires des utilisateurs que vous suivez, vérifier s'il s'agit de spam ou avoir une tendance pour les passe-temps et les goûts. Je pense qu'il y a quelque chose de similaire à moi. À partir de là, des outils tels que nltk (traitement du langage naturel), scikit-learn (apprentissage automatique) et orange (Data Mining) entrent en jeu! De plus, même s'il ne devient pas si grand, il semble possible de filtrer en utilisant d'autres informations utilisateur. S'il semble y avoir une demande, je réfléchirai la prochaine fois (je ne dis pas que je le ferai

Recommended Posts

Suivez en spécifiant les conditions à l'aide de tweepy
Trier en spécifiant les conditions dans CASTable
Trier les éléments d'un tableau en spécifiant des conditions
Essayez d'utiliser Tweepy [Python2.7]