windows8.1 python2.7
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.
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)
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
・ É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.
・ 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.
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