[Python] Ermittelt die Anzahl der Aufrufe aller veröffentlichten Artikel

Einführung

In der Reihenfolge der Likes abrufen Seit ich den Artikel geschrieben habe, ist er diesmal in der Reihenfolge der Anzahl der Aufrufe.

Betriebsumgebung

Was tun, bevor Code geschrieben wird?

Holen Sie sich ein persönliches Zugriffstoken für Qiita.

  1. Greifen Sie auf https://qiita.com/settings/applications zu (vorausgesetzt, Sie haben sich bereits bei Qiita angemeldet).
  2. Drücken Sie unten auf dem Bildschirm auf "Ein neues Token ausstellen". image.png
  3. Geben Sie den Verwendungszweck in "Access Token Description" ein, wählen Sie "read_qiita" für "Scope" und drücken Sie "Issue". image.png
  4. Eine alphanumerische Zeichenfolge wird angezeigt. Kopieren Sie sie. ( ** Persönliche Informationen, gehen Sie also vorsichtig damit um! ** </ font>)

Code

Ersetzen Sie "XXXXXXXXXXXXXXXXXXX" durch das ausgestellte Zugriffstoken.

import http.client
import requests
import json
import math

CONN = http.client.HTTPSConnection('qiita.com', 443)
USER_ID = 'riekure'
PER_PAGE = 20
URL = 'https://qiita.com/api/v2/authenticated_user/items'
HEADERS = {"content-type": "application/json", "Authorization": "Bearer XXXXXXXXXXXXXXXXXXX"}

class Api:
    #Rückgabeanforderungsergebnis im JSON-Format
    @staticmethod
    def request(http, url) :
        CONN.request(http, url)
        res = CONN.getresponse()
        data = res.read().decode('utf-8')
        return json.loads(data)

    #Berechnen Sie die Seitenzahl aus der Anzahl der Beiträge
    @staticmethod
    def page_count(items_count) :
        return math.floor(items_count / PER_PAGE) + 1

#Holen Sie sich die Anzahl der Beiträge
items_count = Api.request('GET', '/api/v2/users/' + USER_ID)['items_count']
page = Api.page_count(items_count)

#Holen Sie sich alle veröffentlichten Artikel
all_article = {}
for i in range(page) :
    res = requests.get(URL + '?page=' + str(i+1), headers=HEADERS)
    list = res.json()
    for item in list :
        item_id = item['id']
        title = item['title']
        url = 'https://qiita.com/api/v2/items/' + item_id
        res = requests.get(url, headers=HEADERS)
        json = res.json()
        page_views_count = json['page_views_count']
        all_article.setdefault(title, page_views_count)

#Sortieren Sie nach absteigender Anzahl von Ansichten
# items()Wird Tupel, weil es verwendet
tuple_items = sorted(all_article.items(), key=lambda x:x[1], reverse=True)
print(all_article)

#Anzeige in tabellarischer Form als Markdown
print('|Artikelüberschrift|Anzahl der Ansichten|')
print('|------------|--------------|')
for title, count in tuple_items:
    print('| ' + title + ' | ' + str(count) + ' |')

Ausführungsergebnis

Stand 28. Juni 2020

Artikelüberschrift Anzahl der Ansichten
Java 8 LocalDateTime-Typkonvertierung(String, java.util.Date) 57161
[Oracle] So erhalten Sie Spalteninformationen einer Tabelle per SQL 31390
So konvertieren Sie eine Datei in ein Byte-Array in Java 27834
Grundlegende Verwendung von Git Revert 25794
[Windows 10]Der Ingenieur, der seinen Finger zu den Pfeiltasten streckt, ist Zako! (Einführung von Change Key und Auto Hotkey) 24472
Verwenden Sie Ungleichheitsvergleichsoperatoren in MyBatis SQL 22104
Schritte zum Bereitstellen von Visual Studio-Code in Unity 21498
So führen Sie einen Befehl als Benutzer aus, der sich nicht anmelden kann + Bonus 15843
[Java] Löschen Sie die angegebene Anzahl von Zeichen am Ende von StringBuilder 15558
Identifizieren und Beenden einer Sitzung, die mit Oracle SQL mit einer Datenbank verbunden ist(KILL) 15035
【Java】 (list == null list.size() == 0)Ich mag die Tatsache nicht, dass ich NULL / leer überprüfe 14769
[Java]Was soll ich zum Schreiben von Dateien verwenden? 12379
Was ist der Unterschied zwischen SimpleDateFormat und DateTimeFormatter? ?? 11016
[Einheit] Was tun, wenn Standard-Assets nicht im Importpaket angezeigt werden? 10817
Ich habe versucht, einen Überprüfungsprozess zu implementieren, der andere Fehler als alphanumerische Symbole, Hiragana, Katakana und JIS-Kanji der 1./2. Ebene in Java verursacht 10685
Eine verwirrte Geschichte über einen ternären Operator mit mehreren bedingten Ausdrücken 10414
AWS Certified Solution Architect Associate(SAA)Fehlererfahrung 10263
AWS Certified Solution Architect auch nach 10-monatigem Studium-Assoziieren-Ich kann nicht bestehen, also schaue ich zurück, wie man lernt 9579
[Anfänger]Wenn Sie glauben, dass Sie AWS für ein paar hundert Yen pro Monat verwenden, werden Ihnen etwa 2000 Yen berechnet. 8374
[MyBatis]Verwenden Sie den Cursor, wenn Sie große Datenmengen zuordnen 8049
Ein Java-Programmierer studierte Python.(Über den Typ) 6873
So stellen Sie die integrierte Windows 10-Notebook-Tastatur auf das JIS-Layout und die Bluetooth-Verbindungstastatur auf das US-Layout ein 6566
So finden Sie einen Prozess anhand einer bestimmten Portnummer 6412
(Nur Java 7 oder höher)Objekte sind Objekte.Ich möchte, dass Sie mit Gleichen vergleichen 5907
Oracle SQL(11g)Ich möchte die LIMIT OFFSET-Klausel von MySQL mit reproduzieren 5880
[Unity]"Can't add script behavior XXXX.The script needs to derive from MonoBehaviour"4 Möglichkeiten zur Verbesserung 5810
【Unity】Unity-Chan!Untersuchungsergebnisse und Lösungen, wenn ein CS0234-Fehler in (Unity-chan) auftritt 5159
Unity +C in der Visual Studio-Community#Debuggen und ausführen 5154
MySQL unter Amazon Linux 2-Was tun, wenn der Server nicht installiert werden kann? 4797
Unten 10%Als Ergebnis der Lösung eines Puzzles, das nicht nur von einem schlechten Ingenieur gelöst werden kann, werden die unteren 10%Es stellte sich heraus, ein schlechter Ingenieur zu sein 4416
AWS Certified Solution Architect über ein Jahr-Assoziieren-Ich habe die Prüfung bestanden und blicke auf meine Lernmethode zurück 4357
【Unity】UnityEditor.BuildPlayerWindow+Was tun, wenn Sie Android aufgrund einer BuildMethodException nicht erstellen können? 4098
[VS-Code] Legen Sie die Einzugsbreite fest und legen Sie fest, ob für jede Sprache Tabulatoren oder Leerzeichen verwendet werden sollen. 3509
Verknüpfungsvergleich für diejenigen, die von Eclipse zu IntelliJ IDEA migrieren(Windows) 3459
[Einheit] Wenn Windows 10 beim Start nicht mehr reagiert 3445
【Unity】Application.Laststufe war veraltet 3335
Aurora(MySQL)Ich habe eine Fehlermeldung erhalten, als ich CREATE VIEW ausprobiert habe 3214
Ein Java-Programmierer studierte Python.(Funktion(Methode)Über) 3046
Beenden Sie die Aktualisierung erst, wenn Sie den AWS Certified Solution Architect Associate bestanden haben! 2927
THETA Web API v2.So führen Sie 1 mit dem Befehl curl aus 2844
ESLint-Einführungsgeschichte zur Ausrottung des Massenproduktionsprojekts für verdammten Code 2808
Seien Sie vorsichtig, Oculus Rift kann nicht auf Surface Book 2 ausgeführt werden! 2706
[Einheit] Zusammenfassung der persönlichen Probleme vor dem Erstellen eines Projekts für Oculus Go 2680
[Einheit] Komponenten aktivieren/Schalten Sie die Ungültigmachung durch Drücken einer Taste um 2481
AWS Certified Solution Architect zur Adressierung in Tabelle-Assoziieren(SAA)* Von Zeit zu Zeit aktualisiert 2467
Ein Java-Programmierer studierte Python.(for, if,while-Anweisung) 2360
.bash_Jeder Befehl mit der falschen Profileinstellung"command not found"Lösung, wenn es wird 2242
[Einheit] wird geöffnet, wenn Git hinzugefügt wird("Temp/UnityLockfile"):Zulassungsgründe verweigert und Abhilfemaßnahmen 2018
So verhindern Sie, dass bestimmte Dateien mit dem Befehl rm usw. gelöscht werden.(Befehl chattr, lsattr) 1815
Unten 20%Es wurde ein Rätsel gelöst, das nur ein schlechter Ingenieur nicht lösen konnte 1467
[Java]Java die Funktionen, die ich in der Vergangenheit erstellt habe.io.Datei an NIO.Umschreiben in 2 1398
【Git】fatal: protocol error: bad line length character:Wie man usag eliminiert 1389
Was tun, wenn Chrome keine Verbindung zu AWS Cloud 9 herstellen kann? 1362
[Unity] Separate Verarbeitung durch Unterscheidung zwischen Unity Editor und tatsächlichem Smartphone 1350
[Java 8]Sortiermethode in alphabetischer Reihenfolge und Reihenfolge der Zeichenkettenlänge, die für Codierungstests verwendet werden kann 1349
[Java 8]Bis Sie Standardeingaben konvertieren, die für Codierungstests in Listen oder Arrays verwendet werden können 1348
Ein Java-Programmierer studierte Python.(Über Dekorateure) 1325
[Python]Holen Sie sich eine Liste der Beiträge mit der Qiita-API+Rückblick auf 2018 1305
AWS Innovate Online-Konferenz "Testvorbereitungssitzung 1: Entwerfen einer wiederherstellbaren Architektur" 1063
Die meisten Ingenieure konnten Puzzle 3 nicht lösen 1033
AWS Innovate Online-Konferenz "Testvorbereitungssitzung 5: Definieren einer Architektur mit Operational Excellence" 858
[Ruby] Kann es in Codierungstests verwendet werden? So erhalten Sie einen Wert von der Standardeingabe 801
AWS Innovate Online-Konferenz "Testvorbereitungssitzung 4: Entwerfen einer Architektur zur Kostenoptimierung" 788
[Einheit] Asynchrone Verarbeitung verstehen-Coroutine- 713
AWS Innovate Online-Konferenz "Testvorbereitungssitzung 2: Definieren einer Hochleistungsarchitektur" 645
AWS Innovate Online-Konferenz "Testvorbereitungssitzung 3: Definieren sicherer Anwendungen und Architektur" 644
[Ruby] Array-Methoden, die Ruby-Anfänger häufig verwenden 564
[Einheit] Asynchrone Verarbeitung verstehen ~ asynchron/warte auf Ausgabe ~ 463
[Ruby] Ich bedauere den Grund, warum ich bei der Deklaration eines zweidimensionalen Arrays einen Fehler gemacht habe und die Elemente nicht wie erwartet ändern konnte. 448
[Unity] Was tun, wenn bei der Installation von Unity von Unity Hub eine "unvollständige oder beschädigte Download-Datei" angezeigt wird? 421
[Katalon Studio] So ändern Sie den Standardbrowser 395
[Katalon Studio] Wie erstelle ich ein dunkles Thema (schwarzer Hintergrund) 390
Die Reihenfolge der Likes (LGTM) ist von "Meine Seite" verschwunden. Verwenden Sie daher die Qiita-API, um sie abzurufen. 286
[Slack] Schritte zum Überspringen einer Nachricht mithilfe der Slack-API 158
Scrum-Entwicklungsglossar für diejenigen, die keine Zeit haben 98

Bitte beachten Sie, dass es anscheinend nur begrenzte freigegebene Artikel enthält.

Am Ende

Ich möchte meinen Abschluss in Qiita machen, kann aber kein Migrationsziel finden.

Recommended Posts

[Python] Ermittelt die Anzahl der Aufrufe aller veröffentlichten Artikel
Holen Sie sich die Anzahl der Ansichten von Qiita
Ermitteln Sie die Anzahl der PVs von Qiita-Artikeln, die Sie mit API veröffentlicht haben
Holen Sie sich die Anzahl der Ziffern
Holen Sie sich Artikelbesuche und Likes mit Qiita API + Python
So ermitteln Sie die Anzahl der Stellen in Python
Ermitteln Sie die Größe (Anzahl der Elemente) von Union Find in Python
Holen Sie sich die Anzahl der Youtube-Abonnenten
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
[Python] Ruft den Zeichencode der Datei ab
Holen Sie sich die Anzahl der Leser von Artikeln über Mendeley in Python
So geben Sie die Anzahl der ANSICHTEN, Likes und Bestände von Artikeln aus, die in Qiita an CSV gesendet wurden (erstellt mit "Python + Qiita API v2")
Holen Sie sich den Inhalt von Git Diff aus Python
Geben Sie die Anzahl der CPU-Kerne in Python aus
[Python] Ruft die Skalenbezeichnung der Figur ab / bearbeitet sie
[Python] Holen Sie sich die Hauptthemen von Yahoo News
Holen Sie sich den Aufrufer einer Funktion in Python
Berechnen Sie die Gesamtzahl der Kombinationen mit Python
[Python] Ruft das Datum der letzten Aktualisierung der Website ab
[Python] Holen Sie sich den Tag (Englisch & Japanisch)
Rufen Sie das Aktualisierungsdatum der Python-Memorandum-Datei ab.
der Zen von Python
[Python] Ein Programm, das die Anzahl der Täler zählt
[Python] Ruft den offiziellen Dateipfad der Verknüpfungsdatei ab (.lnk)
[Python] Ruft den Gesetzestext aus der e-GOV-Gesetz-API ab
[Python] Ruft die Liste der im Modul definierten Klassen ab
Holen Sie sich den Rückkehrcode eines Python-Skripts von bat
[Python] Ruft die Liste der ExifTags-Namen der Pillow-Bibliothek ab
[Python] Gibt alle Kombinationen von Elementen in der Liste aus
Holen Sie sich mit Python den Betriebsstatus von JR West
Rufen Sie die URL des HTTP-Umleitungsziels in Python ab
10. Zählen der Anzahl der Zeilen
Auf dem Weg zum Ruhestand von Python2
[Python] Holen Sie sich den Vormonat
Berechnen Sie die Anzahl der Änderungen
Über die Funktionen von Python
Die Kraft der Pandas: Python
Python - Ermitteln Sie die Anzahl der Gruppen im regulären Ausdruck
[Homologie] Zählen Sie mit Python die Anzahl der Löcher in den Daten
Ermitteln Sie die Anzahl der Vorkommen für jedes Element in der Liste
Ruft alle IP-Adressen von Instanzen in der Autoscaling-Gruppe ab
Ruft den Index jedes Elements der Verwirrungsmatrix in Python ab
Holen Sie sich die Quelle der Seite unbegrenzt mit Python zu laden.
Die Geschichte von Python und die Geschichte von NaN
Zählen Sie die Anzahl der thailändischen und arabischen Zeichen in Python gut
[Python] Der Stolperstein des Imports
Hinweis: Holen Sie sich das erste und letzte Element von Python OrderedDict zerstörungsfrei
[Python] Lassen Sie uns die Anzahl der Elemente im Ergebnis bei der Operation des Sets reduzieren
Holen Sie sich den Desktop-Pfad in Python
Existenz aus Sicht von Python
[Python] So erhalten Sie den ersten und den letzten Tag des Monats
Holen Sie sich das Wetter mit Python-Anfragen
Berechnung der Anzahl der Assoziationen von Klamer
Holen Sie sich das Wetter mit Python-Anfragen 2
Holen Sie sich den Skriptpfad in Python
So erhalten Sie die Python-Version