Vous êtes-vous déjà demandé si votre compte manquait de suivi ou si vous ne le suiviez pas? Cette fois, j'ai implémenté un programme qui peut afficher tous les comptes en un seul état (je me demande?) Avec Twitter API et Python! (Il peut y avoir de nombreuses applications qui peuvent être suivies et gérées, mais veuillez regarder avec des yeux chaleureux car c'est une pratique de Python lol)
C'est comme ça
Obtenir l'identifiant et le nom de l'utilisateur que vous suivez...
Processd: 100.00 %
Terminé
Obtenir l'identifiant et le nom de l'abonné...
Processd: 100.00 %
Terminé
Vérification d'un suivi...
Affichage par lots des utilisateurs qui ne suivent pas
5 sample1
Name: name, dtype: object
Affichage par lots des utilisateurs qui ont suivi mais qui n'ont pas suivi
0 sample2
Name: name, dtype: object
Terminé
pip install tweepy
--Série Python3import tweepy
import pandas as pd
import time
def authorize():
Consumer_key = 'Ma clé API'
Consumer_secret = 'Ma clé secrète API'
Access_token = 'Mon jeton d'accès'
Access_secret = 'Mon jeton secret d'accès'
authorization = [Consumer_key, Consumer_secret, Access_token, Access_secret]
return authorization
def get_myaccount_data(authorization):
auth = tweepy.OAuthHandler(authorization[0], authorization[1])
auth.set_access_token(authorization[2], authorization[3])
api = tweepy.API(auth, wait_on_rate_limit=True)
return api
def get_friends_id(api):
print("Obtenir l'identifiant et le nom de l'utilisateur que vous suivez...")
df_friends = pd.DataFrame(columns=["id","name"])
process_id = len(api.friends_ids())
for i, user_id in enumerate(api.friends_ids()[:6]):
if (i+1) % 5 == 0:
print("Processd: ", round(((i+1)/process_id)*100,2),"%")
time.sleep(1) #Cela peut ne pas être nécessaire. Décommenter s'il y a beaucoup de monde
user = api.get_user(user_id)
user_info = [user.id_str, user.name]
df_friends.loc[i,"id"] = user_info[0]
df_friends.loc[i,"name"] = user_info[1]
print("Terminé")
print("\n")
df_friends.to_csv("./friends_ids.csv", index=False, encoding='utf-8-sig')
return df_friends
def get_followers_id(api):
print("Obtenir l'identifiant et le nom de l'abonné...")
df_followers = pd.DataFrame(columns=["id","name"])
process_id = len(api.followers_ids())
for i, user_id in enumerate(api.followers_ids()[:6]):
if (i+1) % 5 == 0:
print("Processd: ", round(((i+1)/process_id)*100,2),"%")
time.sleep(1) #Cela peut ne pas être nécessaire. Décommenter s'il y a beaucoup de monde
user = api.get_user(user_id)
user_info = [user.id_str, user.name]
df_followers.loc[i,"id"] = user_info[0]
df_followers.loc[i,"name"] = user_info[1]
print("Terminé")
print("\n")
df_followers.to_csv("./followers_ids.csv", index=False, encoding='utf-8-sig')
return df_followers
def check_onesided_follow(df_friends, df_followers):
print("Vérification d'un suivi...")
#Vérifiez un suivi en convertissant en ensemble et en donnant la différence d'ensemble
friends = set(df_friends["id"])
followers = set(df_followers["id"])
# 1.Affichage par lots des utilisateurs qui ne suivent pas
diff1 = friends.difference(followers)
diff1_list = list(diff1)
print("Affichage par lots des utilisateurs qui ne suivent pas\n")
print(df_friends['name'][df_friends['id'].isin(diff1_list)])
# 2.Affichage par lots des utilisateurs qui ont suivi mais qui n'ont pas suivi
diff2 = followers.difference(friends)
diff2_list = list(diff2)
print("Affichage par lots des utilisateurs qui ont suivi mais qui n'ont pas suivi\n")
print(df_followers['name'][df_followers['id'].isin(diff2_list)])
print("Terminé")
print("\n")
def main():
#Paramètres de clé du consommateur et de jeton d'accès pour l'utilisation de l'API Twitter
authorization = authorize()
#Obtenez les informations de votre compte avec l'API
api = get_myaccount_data(authorization)
#ami(Le compte que j'ai suivi)Obtenez l'identifiant et le nom en même temps
df_friends = get_friends_id(api)
#Obtenez l'identifiant et le nom de l'abonné en même temps
df_followers = get_followers_id(api)
#Suivez un(J'ai suivi mais ne m'a pas suivi ou suivi mais je n'ai pas suivi)de
#Affichage par lots des noms d'utilisateurs avec instruction d'impression
check_onesided_follow(df_friends, df_followers)
if __name__ == "__main__":
main()
C'est facile si vous utilisez l'API ~
Le contenu est presque le même, mais il est également répertorié sur GitHub, veuillez donc le vérifier si vous le souhaitez. https://github.com/kkkodai/check-onesided-follwer-in-twitter
Recommended Posts