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).
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!
(Ich denke, es gibt verschiedene andere Follow-Back-Kriterien wie den Unterschied zwischen der Anzahl der Follower und Follower, Hobbys und Geschmäcken ...)
OS X 10.9.4 (Marvericks) python 2.7.5 tweepy 2.3 http://www.tweepy.org/
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
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
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)
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.
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)