Letzte Ranglistenerstellung mit der Qiita-API mit Python

【Umgebung】

windows8.1  python2.7

【Überblick】

Erstellen Sie mithilfe der Qiita-API aktuelle Benutzer- und Tag-Ranglisten. Das Benutzerranking basiert auf der Anzahl der Follower, und das Tag-Ranking basiert auf der Anzahl der Elemente für dieses Tag. Ich rangiere.

[Vorbereitung]

Um das Programm auszuführen, rufen Sie das Token von der Seite mit den Qiita-Einstellungen ab. (Klicken Sie auf das Bild oben rechts) → (Einstellungen) → (Anwendung) → (Neues Token ausstellen)

【Programm】

Benutzerranking

user_rank.py


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

from qiita_v2.client import QiitaClient

#Holen Sie sich durch das Erben von QiitaClient_Benutzer überschreiben
class child_QiitaClient(QiitaClient):
    def get_user(self, id, params=None, headers=None):
        '''Gibt einen bestimmten Benutzer zurück.
        '''
        return self.get("/users?page={}&per_page=100".format(id), params, headers)
 
TOKEN="Bitte geben Sie den Token ein, den Sie erhalten haben"
client = child_QiitaClient(access_token=TOKEN)

#Initialisieren Sie das Array für das Ranking(Für die Anzahl der Personen, denen gefolgt wird)
rank_followers = []
i = 0
for i in xrange(10):
    rank_followers.append(0)

#Initialisieren Sie das Array für das Ranking(Für Benutzername)
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):
        #Zuweisung von Benutzernamen
        user_name = json_data[j]["id"]
        #Substitution der Anzahl der Personen, denen gefolgt wird
        user_followers = json_data[j]["followers_count"]
        #Rangfolge
        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

Tag-Ranking

tag_rank.py



from qiita_v2.client import QiitaClient

#Holen Sie sich durch das Erben von QiitaClient_Tag überschreiben
class child_QiitaClient(QiitaClient):
    def get_tag(self, id, params=None, headers=None):
        '''Gibt ein bestimmtes Tag zurück.
        '''
        return self.get("/tags?page={}&per_page=100".format(id), params, headers)
 
TOKEN="Bitte geben Sie den Token ein, den Sie erhalten haben"
client = child_QiitaClient(access_token=TOKEN)

#Initialisieren Sie das Array für das Ranking(Für die Anzahl der Elemente im Tag)
rank_item = []
i = 0
for i in xrange(10):
    rank_item.append(0)

#Initialisieren Sie das Array für das Ranking(Für den Tag-Namen)
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):
        #Tag-Namenszuweisung
        tag_name = json_data[j]["id"]
        #Ersetzen der Anzahl der Elemente im Tag
        tag_item = json_data[j]["items_count"]
        #Rangfolge
        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

【Problem】

・ Da nur die letzten 10.000 Elemente sowohl von Benutzern als auch von Tags erfasst werden können, können alle Informationen eingestuft werden. konnte nicht.

[Eindruck / Zukunft]

・ Wenn Sie die Benutzerinformationsseite von Qiita durchsuchen, werden Sie von den Nutzungsbeschränkungen erfasst. Es war interessant darüber nachzudenken, wie man Informationen erhält. ・ Wenn ich eine Chance habe, möchte ich alle Qiita-Benutzer und -Tags bewerten.

[Referenzseite]

Qiita API v2-Dokumentation  Python Wrapper for Qiita API v2 Die Qiita-API ändert die Anzahl der Beiträge aus irgendeinem Grund nicht Klasse erben und überschreiben

Recommended Posts

Letzte Ranglistenerstellung mit der Qiita-API mit Python
Stock Number Ranking von Qiita Tag mit Python
Versuchen Sie, die ChatWork-API und die Qiita-API in Python zu verwenden
Registrieren Sie Tickets mit der Redmine-API mithilfe von Python-Anforderungen
[Python] Verwenden der Linien-API [1. Erstellung des Beauty-Bots]
[Python] Mit der API von Qiita erhalten Sie Benutzer- und Artikelinformationen
Verwenden Sie die Trello-API mit Python
Verwenden Sie die Twitter-API mit Python
Verwenden von Quaternion mit Python ~ numpy-quaternion ~
[Python] Verwenden von OpenCV mit Python (Basic)
Web-API mit Python + Falcon
Rufen Sie die API mit python3 auf.
Verwenden Sie die Unterschall-API mit Python3
Verwenden von OpenCV mit Python @Mac
Qiita API Oauth mit Django
Senden Sie mit Python mit Google Mail
Holen Sie sich ein Ranking mit Rakuten API
Jüngste Fähigkeit zur Bilderkennung - Die neuesten Forschungsergebnisse von MS unter Verwendung der Computer Vision API mit Python
Erstellen Sie mit AWS SAM schnell eine API mit Python, Lambda und API Gateway
Spielen Sie mit der YouTube Data API v3 mit dem Google API Python Client
Vervollständigung von Python mit Emacs mit Company-Jedi
Harmonischer Mittelwert von Python (mit SciPy)
Erstellen Sie Awaitable mit der Python / C-API
Datenerfassung mit Python Googlemap API
Verwenden von Rstan aus Python mit PypeR
Holen Sie sich Bewertungen mit Python Googlemap API
[Python] Verwenden von OpenCV mit Python (Bildtransformation)
Führen Sie Rotrics DexArm mit der Python-API aus
[Python3] Google übersetzt Google Übersetzung ohne Verwendung von API
[Python] Verwenden von OpenCV mit Python (Kantenerkennung)
Versuchen Sie es mit der Pleasant-API (Python / FastAPI).
Klicken Sie mit Python auf die Etherpad-Lite-API
Holen Sie sich Qiita-Trends mit Python-Scraping
Versuchen Sie es mit der Aktions-API von Python argparse
Hinweise zur Verwendung von rstrip mit Python.
Erstellen Sie eine API mit hug mit mod_wsgi
Excel-Diagrammerstellung mit Python xlwings
Führen Sie Ansible über Python mithilfe der API aus
Bei Verwendung von MeCab mit virtualenv python
Vorsichtsmaßnahmen bei Verwendung von sechs mit Python 2.5
GUI-Erstellung in Python mit tkinter 2
Implementierung von CRUD mithilfe der REST-API mit Python + Django Rest Framework + igGrid
Implementieren Sie die Ranking-Verarbeitung mit Bindungen in Python mithilfe von Redis Sorted Set
Sammeln von Informationen von Twitter mit Python (Twitter API)
Mausbedienung mit Windows-API in Python
[AWS] Verwenden von INI-Dateien mit Lambda [Python]
Versuchen Sie, sich mit Python bei qiita anzumelden
Versuchen Sie es mit der Wunderlist-API in Python
Erstellen Sie automatisch eine Python-API-Dokumentation mit Sphinx
GUI-Erstellung in Python mit tkinter Teil 1
Versuchen Sie eine Formel mit Σ mit Python
Hinter dem Flyer: Docker mit Python verwenden
Einfacher Slack API-Client mit Python
Massenposting an Qiita: Team mit Qiita API
Holen Sie sich Lebensmitteldaten mit Amazon API (Python)
Verwenden von Python und MeCab mit Azure Databricks
Tweet mit der Twitter-API in Python