J'ai essayé la gestion du suivi avec l'API Twitter et Python (facile)

introduction

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)

production

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é

Quoi utiliser

code

Cliquez ici!
import 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()

Impressions

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

J'ai essayé la gestion du suivi avec l'API Twitter et Python (facile)
J'ai essayé la différenciation jacobienne et partielle avec python
J'ai essayé la synthèse de fonctions et le curry avec python
J'ai essayé de gratter avec Python
Utiliser l'API Twitter avec Python
J'ai essayé gRPC avec Python
J'ai essayé de gratter avec du python
Suivi automatique sur Twitter avec python et sélénium! (RPA)
Exploration avec Python et Twitter API 1 - Fonction de recherche simple
J'ai essayé de frapper l'API avec le client python d'echonest
API Nifty Cloud facile à utiliser avec botocore et python
J'ai essayé webScraping avec python.
J'ai essayé de connecter Raspeye et conect + avec l'API Web
[Python] J'ai essayé de visualiser la relation de suivi de Twitter
J'ai joué avec PyQt5 et Python3
J'ai essayé de créer une interface graphique à trois yeux côte à côte avec Python et Tkinter
J'ai essayé d'exécuter prolog avec python 3.8.2.
J'ai essayé la communication SMTP avec Python
Exploration avec Python et Twitter API 2-Implémentation de la fonction de recherche d'utilisateurs
J'ai essayé de faire un processus d'exécution périodique avec Selenium et Python
J'ai essayé de détecter facilement les points de repère du visage avec python et dlib
J'ai essayé ChatOps avec Slack x API Gateway x Lambda (Python) x RDS
Collecter des informations sur Twitter avec Python (API Twitter)
Installation de Python et gestion des packages avec pip
J'ai essayé le rendu non réaliste avec Python + opencv
J'ai essayé d'utiliser l'API UnityCloudBuild de Python
J'ai essayé un langage fonctionnel avec Python
J'ai essayé la récurrence avec Python ② (séquence de nombres Fibonatch)
J'ai installé et utilisé Numba avec Python3.5
Scraping Web facile avec Python et Ruby
# J'ai essayé quelque chose comme Vlookup avec Python # 2
J'ai essayé de supprimer régulièrement les mauvais tweets avec l'API AWS Lambda + Twitter
[AWS] [GCP] J'ai essayé de rendre les services cloud faciles à utiliser avec Python
J'ai essayé d'obtenir le code d'authentification de l'API Qiita avec Python.
J'ai essayé d'obtenir les informations sur le film de l'API TMDb avec Python
[Zaif] J'ai essayé de faciliter le commerce de devises virtuelles avec Python
J'ai essayé de frapper l'API Mastodon avec Ruby (Faraday) / Python (Pycurl) / PHP (Curl)
J'ai essayé de mettre à jour le calendrier Google avec des rendez-vous CSV à l'aide de Python et de l'API Google
J'ai essayé de "lisser" l'image avec Python + OpenCV
J'ai essayé des centaines de millions de SQLite avec python
J'ai essayé le web scraping en utilisant python et sélénium
J'ai essayé de "différencier" l'image avec Python + OpenCV
J'ai essayé "License OCR" avec l'API Google Vision
J'ai essayé de créer un bloqueur de filles pourries sur Twitter avec Python ①
J'ai essayé L-Chika avec Razpai 4 (édition Python)
J'ai essayé de jouer en connectant PartiQL et MongoDB
J'ai essayé d'obtenir des données CloudWatch avec Python
J'ai essayé d'utiliser mecab avec python2.7, ruby2.3, php7
J'ai essayé la séparation linéaire super facile avec Chainer
J'ai essayé de sortir LLVM IR avec Python
J'ai essayé de "binariser" l'image avec Python + OpenCV
J'ai essayé d'exécuter faiss avec python, Go, Rust
J'ai essayé d'automatiser la fabrication des sushis avec python
J'ai essayé "Receipt OCR" avec l'API Google Vision
Obtenez l'objet et le corps de Gmail avec Python et l'API Gmail