Création récente de classement à l'aide de l'API Qiita avec Python

【environnement】

windows8.1  python2.7

【Aperçu】

Créez des classements d'utilisateurs récents et des classements de balises à l'aide de l'API Qiita. Le classement des utilisateurs est basé sur le nombre d'adeptes et le classement des balises est basé sur le nombre d'éléments pour cette balise. Je classe.

[Préparation]

Pour exécuter le programme, récupérez le jeton sur la page des paramètres de qiita. (Cliquez sur l'image en haut à droite) → (Paramètres) → (Application) → (Émettre un nouveau jeton)

【programme】

Classement des utilisateurs

user_rank.py


# -*- coding: utf-8 -*-

from qiita_v2.client import QiitaClient

#Obtenir en héritant de QiitaClient_Remplacer l'utilisateur
class child_QiitaClient(QiitaClient):
    def get_user(self, id, params=None, headers=None):
        '''Renvoie un utilisateur spécifique.
        '''
        return self.get("/users?page={}&per_page=100".format(id), params, headers)
 
TOKEN="Veuillez saisir le jeton que vous avez obtenu"
client = child_QiitaClient(access_token=TOKEN)

#Initialiser le tableau pour le classement(Pour le nombre de personnes suivies)
rank_followers = []
i = 0
for i in xrange(10):
    rank_followers.append(0)

#Initialiser le tableau pour le classement(Pour le nom d'utilisateur)
rank_user_name = []
i = 0
for i in xrange(10):
    rank_user_name.append("")


i = 0
for i in xrange(1,101):
    res = client.get_user(str(i))
    json_data = res.to_json()
    for j in xrange(0,100):
        #Attribution du nom d'utilisateur
        user_name = json_data[j]["id"]
        #Substitution du nombre de personnes suivies
        user_followers = json_data[j]["followers_count"]
        #Classement
        for k in xrange(10):
            if rank_followers[k] < user_followers:
                rank_followers[k] = user_followers
                rank_user_name[k] = user_name
                break

print rank_followers
print rank_user_name

Classement des tags

tag_rank.py



from qiita_v2.client import QiitaClient

#Obtenir en héritant de QiitaClient_Remplacer la balise
class child_QiitaClient(QiitaClient):
    def get_tag(self, id, params=None, headers=None):
        '''Renvoie une balise spécifique.
        '''
        return self.get("/tags?page={}&per_page=100".format(id), params, headers)
 
TOKEN="Veuillez saisir le jeton que vous avez obtenu"
client = child_QiitaClient(access_token=TOKEN)

#Initialiser le tableau pour le classement(Pour le nombre d'éléments dans l'étiquette)
rank_item = []
i = 0
for i in xrange(10):
    rank_item.append(0)

#Initialiser le tableau pour le classement(Pour le nom de la balise)
rank_tag_name = []
i = 0
for i in xrange(10):
    rank_tag_name.append("")


i = 0
for i in xrange(1,101):
    res = client.get_tag(str(i))
    json_data = res.to_json()
    for j in xrange(0,100):
        #Attribution de nom de balise
        tag_name = json_data[j]["id"]
        #Substitution du nombre d'éléments dans l'étiquette
        tag_item = json_data[j]["items_count"]
        #Classement
        for k in xrange(10):
            if rank_item[k] < tag_item:
                rank_item[k] = tag_item
                rank_tag_name[k] = tag_name
                break
            
print rank_item
print rank_tag_name

【problème】

・ Étant donné que les utilisateurs et les tags ne peuvent obtenir que les 10 000 derniers éléments, toutes les informations peuvent être classées. ne pouvait pas. -Comme la fonction get_user n'a pas d'élément de contribution, elle a été classée par le nombre d'adeptes.

[Impression / futur]

・ Si vous grattez la page d'informations utilisateur de Qiita, vous serez pris dans les restrictions d'utilisation. Il était intéressant de réfléchir à la manière d'obtenir des informations. ・ Si j'ai une chance, j'aimerais classer tous les utilisateurs et tags Qiita.

[Site de référence]

Documentation de l'API Qiita v2  Python Wrapper for Qiita API v2 L'API Qiita ne modifie pas le nombre de contributions pour une raison quelconque Hériter et remplacer la classe

Recommended Posts

Création récente de classement à l'aide de l'API Qiita avec Python
Classement des numéros de stock par balise Qiita avec python
Essayez d'utiliser l'API ChatWork et l'API Qiita en Python
Enregistrez des tickets avec l'API de Redmine en utilisant des requêtes Python
[Python] Utilisation de l'API Line [1ère création de Beauty Bot]
[Python] Obtenez des informations sur les utilisateurs et des articles sur l'API de Qiita
Utiliser l'API Trello avec python
Utiliser l'API Twitter avec Python
Utilisation de Quaternion avec Python ~ numpy-quaternion ~
[Python] Utilisation d'OpenCV avec Python (basique)
API Web avec Python + Falcon
Appelez l'API avec python3.
Utiliser l'API subsonique avec python3
Utiliser OpenCV avec Python @Mac
Qiita API Oauth avec Django
Envoyer en utilisant Python avec Gmail
Obtenez un classement avec l'API Rakuten
Capacité récente de reconnaissance d'image - Résultats de recherche de pointe de MS à l'aide de l'API de vision par ordinateur avec Python
Créez rapidement une API avec Python, lambda et API Gateway à l'aide d'AWS SAM
Jouez avec l'API de données YouTube v3 à l'aide du client Python de l'API Google
Compléter python avec emacs en utilisant company-jedi
Moyenne harmonique par Python (en utilisant SciPy)
Créer Awaitable avec l'API Python / C
Acquisition de données à l'aide de l'API googlemap de python
Utilisation de Rstan de Python avec PypeR
Obtenez des avis avec l'API googlemap de python
[Python] Utilisation d'OpenCV avec Python (transformation d'image)
Exécutez Rotrics DexArm avec l'API Python
[Python3] Google translate google translation sans utiliser l'API
[Python] Utilisation d'OpenCV avec Python (détection des bords)
Essayez d'utiliser l'API de Pleasant (python / FastAPI)
Accédez à l'API Etherpad-lite avec Python
Obtenez les tendances Qiita avec le scraping Python
Essayez d'utiliser l'API d'action de Python argparse
Notes sur l'utilisation de rstrip avec python.
Créez une API en utilisant hug avec mod_wsgi
Création de graphique Excel à l'aide de python xlwings
Exécutez Ansible à partir de Python à l'aide de l'API
Lors de l'utilisation de MeCab avec python dans virtualenv
Précautions lors de l'utilisation de six avec Python 2.5
Création d'interface graphique en python avec tkinter 2
Implémentation de CRUD à l'aide de l'API REST avec Python + Django Rest framework + igGrid
Implémenter le traitement du classement avec des liens en Python à l'aide de Redis Sorted Set
Collecter des informations sur Twitter avec Python (API Twitter)
Fonctionnement de la souris à l'aide de l'API Windows en Python
[AWS] Utilisation de fichiers ini avec Lambda [Python]
Essayez de vous connecter à qiita avec Python
Essayez d'utiliser l'API Wunderlist en Python
Créez automatiquement la documentation de l'API Python avec Sphinx
Création d'interface graphique en python à l'aide de tkinter partie 1
Essayez une formule utilisant Σ avec python
Derrière le flyer: utiliser Docker avec Python
Client API Slack simple réalisé avec Python
Publication groupée sur Qiita: équipe utilisant l'API Qiita
Obtenez des données alimentaires avec l'API Amazon (Python)
Utilisation de Python et MeCab avec Azure Databricks
Tweet à l'aide de l'API Twitter en Python