[PYTHON] Geben Sie anschließend die Bedingungen mit tweepy an

Einführung

Es wird oft auf Twitter verfolgt, aber es ist mühsam und mühsam, den Benutzer zu überprüfen und jedes Mal das Follow zurückzugeben. Also habe ich einen Artikel gepostet, weil es praktisch wäre, wenn ich ihnen alle auf einmal folgen könnte, indem ich geeignete Bedingungen spezifiziere (wahrscheinlich n-te Abkochung).

Hab keine Angst

Ich werde vorstellen, wie man Benutzern folgt (folgt), die folgen, aber nicht mit tweepy zurückkehren, das mit der Python-API mit dem Python-Modul problemlos umgehen kann!

Diesmal müssen zwei Bedingungen eingehalten werden

(Ich denke, es gibt verschiedene andere Follow-Back-Kriterien wie den Unterschied zwischen der Anzahl der Follower und Follower, Hobbys und Geschmäcken ...)

Kaihatsukankyo

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

Jizenjunbi

Erhalten Sie Zugriffstoken von Twitter-Entwicklern

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

Die folgende URL ist sehr einfach zu verstehen, wie Sie ein Zugriffstoken erhalten. Befolgen Sie die Schritte 1 und 2, um ein Zugriffstoken zu erhalten. http://syncer.jp/twitter-api-how-to-get-access-token

Tweepy 2.3 eingeführt

Führen Sie tweepy mit dem Paketverwaltungssystem pip von Python ein (wenn Sie pyenv verwenden können, verwenden Sie das auch). Grundsätzlich wird empfohlen, die neueste Version zu installieren. Da sich die Spezifikationen von tweepy jedoch häufig ändern, wird die Versionsspezifikationsmethode vorerst beschrieben. pip install tweepy==2.3

Prozessablauf

  1. Holen Sie sich die API nach der Authentifizierung
  2. Holen Sie sich alle Benutzerobjekte, die Ihnen und einander folgen
  3. Holen Sie sich alle Benutzerobjekte Ihrer Follower
  4. Folgen Sie nicht verfolgten Benutzern, wenn sie die Kriterien erfüllen

Quellcode

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"Nutzername:{0:15}Anzahl der Tweets:{1:<9d}Grad der Aufgabe(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)

    #Folgen Sie Benutzern, die Follower sind und einander nicht folgen
    for unknown_follower in all_my_followers:
        if unknown_follower not in all_my_friends:
            follow_user_with_conditions(unknown_follower)

Hosoku

abschließend

In diesem Artikel habe ich vorgestellt, wie Sie mit tweepy zurückverfolgen können. Die Anzahl der gegenseitigen Follow-ups und die Anzahl der Tweets pro Tag wurden als Follow-Back-Bedingungen festgelegt.

Zukunftsaussichten

Als zukünftige Erweiterungsmethode wird es einige Zeit dauern, bis sie reguliert wird, da Sie häufig auf die API zugreifen. Sie können jedoch bis zu 3200 Kommentare von den Benutzern erhalten, denen Sie folgen, prüfen, ob es sich um Spam handelt, oder eine Tendenz zu Hobbys und Vorlieben haben. Ich denke, es gibt etwas Ähnliches wie ich. Ab hier kommen Tools wie nltk (Verarbeitung natürlicher Sprache), scikit-learn (maschinelles Lernen) und orange (Data Mining) ins Spiel! Auch wenn es nicht so groß wird, scheint es möglich zu sein, anhand anderer Benutzerinformationen zu filtern. Wenn es Nachfrage zu geben scheint, werde ich das nächste Mal darüber nachdenken (ich sage nicht, dass ich es tun werde)

Recommended Posts

Geben Sie anschließend die Bedingungen mit tweepy an
Sortieren Sie nach Angabe der Bedingungen in CASTable
Sortieren Sie die Elemente eines Arrays, indem Sie Bedingungen angeben
Versuchen Sie es mit Tweepy [Python2.7]