[Python] Obtenez le nombre de vues de tous les articles publiés

introduction

Obtenir dans l'ordre des likes Depuis que j'ai écrit l'article, cette fois c'est dans l'ordre du nombre de vues.

Environnement d'exploitation

Que faire avant d'écrire du code

Obtenez un jeton d'accès personnel pour Qiita.

  1. Accédez à https://qiita.com/settings/applications (en supposant que vous soyez déjà connecté à Qiita)
  2. Appuyez sur `` Émettre un nouveau jeton '' en bas de l'écran. image.png
  3. Entrez l'utilisation prévue dans Description du jeton d'accès '', sélectionnez read_qiita '' pour Portée '' et appuyez sur Émettre ''. image.png
  4. Une chaîne de caractères alphanumériques sera affichée, donc copiez-la. ( ** Informations personnelles, alors manipulez-les avec précaution! ** </ font>)

code

Remplacez `` XXXXXXXXXXXXXXXXXXX '' par le jeton d'accès émis.

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:
    #Renvoyer le résultat de la demande au format JSON
    @staticmethod
    def request(http, url) :
        CONN.request(http, url)
        res = CONN.getresponse()
        data = res.read().decode('utf-8')
        return json.loads(data)

    #Calculez le numéro de page à partir du nombre d'articles
    @staticmethod
    def page_count(items_count) :
        return math.floor(items_count / PER_PAGE) + 1

#Obtenez le nombre de messages
items_count = Api.request('GET', '/api/v2/users/' + USER_ID)['items_count']
page = Api.page_count(items_count)

#Obtenez tous les articles publiés
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)

#Trier par nombre décroissant de vues
# items()Devient tuple car il utilise
tuple_items = sorted(all_article.items(), key=lambda x:x[1], reverse=True)
print(all_article)

#Afficher sous forme de tableau de démarque
print('|Le titre de l'article|Nombre de vues|')
print('|------------|--------------|')
for title, count in tuple_items:
    print('| ' + title + ' | ' + str(count) + ' |')

Résultat d'exécution

Au 28 juin 2020

Le titre de l'article Nombre de vues
Conversion de type Java 8 LocalDateTime(String, java.util.Date) 57161
[Oracle] Comment obtenir les informations de colonne d'une table par SQL 31390
Comment convertir un fichier en tableau d'octets en Java 27834
Utilisation basique de git revert 25794
[Windows 10]L'ingénieur qui tend le doigt jusqu'aux touches fléchées est Zako! (Introduction de la touche de changement et de la touche de raccourci automatique) 24472
Utiliser des opérateurs de comparaison d'inégalités dans MyBatis SQL 22104
Étapes pour rendre Visual Studio Code disponible dans Unity 21498
Comment exécuter une commande en tant qu'utilisateur ne pouvant pas se connecter + bonus 15843
[Java] Supprimer le nombre spécifié de caractères à la fin de StringBuilder 15558
Identifier et supprimer une session connectée à une base de données avec Oracle SQL(KILL) 15035
【Java】 (list == null list.size() == 0)Je n'aime pas le fait que je vérifie NULL / vide 14769
[Java]Que dois-je utiliser pour écrire des fichiers? 12379
Quelle est la différence entre SimpleDateFormat et DateTimeFormatter? ?? 11016
[Unity] Que faire lorsque les ressources standard ne sont pas affichées dans le package d'importation 10817
J'ai essayé de mettre en œuvre un processus de vérification qui fait des erreurs autres que les symboles alphanumériques, hiragana, katakana, kanji de niveau 1/2 JIS en Java 10685
Une histoire confuse sur un opérateur ternaire avec plusieurs expressions conditionnelles 10414
Associé d'architecte de solutions certifié AWS(SAA)Expérience d'échec 10263
Architecte de solution certifié AWS même après avoir étudié pendant 10 mois-Associer-Je ne peux pas passer, alors je repense à la façon d'étudier 9579
[Débutant]Si vous pensez que vous utilisez AWS pour quelques centaines de yens par mois, vous serez facturé environ 2000 yens. 8374
[MyBatis]Utiliser le curseur lors du mappage de grandes quantités de données 8049
Un programmeur Java a étudié Python.(À propos du type) 6873
Comment configurer le clavier intégré d'un ordinateur portable Windows 10 sur la disposition JIS, le clavier de connexion Bluetooth sur la disposition américaine 6566
Comment trouver un processus à l'aide d'un numéro de port spécifique 6412
(Java 7 ou version ultérieure uniquement)Les objets sont des objets.Je veux que tu compares avec des égaux 5907
Oracle SQL(11g)Je souhaite reproduire la clause LIMIT OFFSET de MySQL avec 5880
[Unity]"Can't add script behavior XXXX.The script needs to derive from MonoBehaviour"4 façons de s'améliorer 5810
【Unity】Unity-Chan!Résultats de l'enquête et solutions lorsqu'une erreur CS0234 se produit dans (Unity-chan) 5159
Unity +C dans la communauté Visual Studio#Déboguer et exécuter 5154
Mysql sur Amazon Linux 2-Que faire si le serveur ne peut pas être installé 4797
10 bas%À la suite de la résolution d'un puzzle qui ne peut être résolu que par un mauvais ingénieur, les 10 derniers%S'est avéré être un mauvais ingénieur 4416
Architecte de solution certifié AWS sur un an-Associer-J'ai réussi l'examen, donc je repense à ma méthode d'étude 4357
【Unity】UnityEditor.BuildPlayerWindow+Que faire si vous ne pouvez pas créer Android en raison d'une exception BuildMethodException 4098
[VS Code] Définissez la largeur du retrait et s'il faut utiliser des tabulations ou des espaces pour chaque langue. 3509
Comparaison de raccourcis pour ceux qui migrent d'Eclipse vers IntelliJ IDEA(Windows) 3459
[Unity] Lorsque Windows 10 ne répond plus au démarrage 3445
【Unity】Application.Le niveau de charge est obsolète 3335
Aurora(MySQL)J'ai eu une erreur lorsque j'ai essayé CREATE VIEW 3214
Un programmeur Java a étudié Python.(une fonction(Méthode)sur) 3046
Je n'arrêterai pas de mettre à jour tant que je n'aurai pas réussi le programme AWS Certified Solution Architect Associate! 2927
THETA Web API v2.Comment exécuter 1 avec la commande curl 2844
Histoire d'introduction d'ESLint pour éradiquer le putain de projet de production de masse de code 2808
Attention, Oculus Rift ne peut pas être exécuté sur Surface Book 2! 2706
[Unity] Résumé des problèmes personnels avant de créer un projet pour Oculus Go 2680
[Unity] Activer les composants/Changer d'invalidation en appuyant sur un bouton 2481
Architecte de solution certifié AWS à adresser dans le tableau-Associer(SAA)* Mis à jour de temps en temps 2467
Un programmeur Java a étudié Python.(for, if,déclaration while) 2360
.bash_Toute commande avec un paramètre de profil incorrect"command not found"Solution quand elle devient 2242
[Unity] ouvert lorsque git add("Temp/UnityLockfile"):Causes du refus de l'autorisation et recours 2018
Comment empêcher la suppression de certains fichiers avec la commande rm, etc.(chattr, commande lsattr) 1815
20 bas%Résolu un puzzle que seul un mauvais ingénieur ne pouvait pas résoudre 1467
[Java]Java les fonctions que j'ai créées dans le passé.io.Fichier vers NIO.Réécrire en 2 1398
【Git】fatal: protocol error: bad line length character:Comment éliminer usag 1389
Que faire si Chrome ne parvient pas à se connecter à AWS Cloud 9 1362
[Unity] Traitement séparé en distinguant l'éditeur Unity du smartphone réel 1350
[Java 8]Méthode de tri par ordre alphabétique et par ordre de longueur de chaîne de caractères pouvant être utilisée dans les tests de codage 1349
[Java 8]Jusqu'à ce que vous convertissiez les entrées standard qui peuvent être utilisées dans les tests de codage en listes ou en tableaux 1348
Un programmeur Java a étudié Python.(À propos des décorateurs) 1325
[Python]Obtenez une liste de publications à l'aide de l'API Qiita+Rétrospective 2018 1305
Conférence en ligne AWS Innovate "Session de préparation aux tests 1: Conception d'une architecture récupérable" 1063
La plupart des ingénieurs n'ont pas pu résoudre le puzzle 3 1033
Conférence en ligne AWS Innovate "Session de préparation aux tests 5: Définition d'une architecture avec excellence opérationnelle" 858
[Ruby] Peut-il être utilisé dans les tests de codage? Comment recevoir une valeur d'une entrée standard 801
Conférence en ligne AWS Innovate "Session de préparation aux tests 4: Conception d'une architecture d'optimisation des coûts" 788
[Unity] Comprendre le traitement asynchrone-Coroutine- 713
Conférence en ligne AWS Innovate "Session de préparation aux tests 2: Définition d'une architecture hautes performances" 645
Conférence en ligne AWS Innovate "Session de préparation aux tests 3: Définition d'applications et d'architecture sécurisées" 644
[Ruby] Méthodes de tableau que les débutants en Ruby utilisent souvent 564
[Unity] Comprendre le traitement asynchrone ~ async/attendre l'édition ~ 463
[Ruby] Je regrette la raison pour laquelle j'ai fait une erreur en déclarant un tableau à deux dimensions et je n'ai pas pu modifier les éléments comme prévu. 448
[Unity] Que faire lorsque "Fichier de téléchargement incomplet ou corrompu" apparaît lors de l'installation de Unity à partir de Unity Hub 421
[Katalon Studio] Comment changer le navigateur par défaut 395
[Katalon Studio] Comment créer un thème sombre (fond noir) 390
L'ordre des likes (LGTM) a disparu de Ma page, utilisez donc l'API Qiita pour l'obtenir. 286
[Slack] Étapes pour ignorer un message à l'aide de l'API Slack 158
Glossaire de développement Scrum pour ceux qui n'ont pas le temps 98

Veuillez noter qu'il semble inclure des articles partagés limités.

À la fin

Je veux obtenir mon diplôme de Qiita, mais je ne trouve pas de destination de migration.

Recommended Posts

[Python] Obtenez le nombre de vues de tous les articles publiés
Obtenez le nombre de vues de Qiita
Obtenez le nombre de PV d'articles Qiita que vous avez publiés avec l'API
Obtenez le nombre de chiffres
Obtenez des visites d'articles et des likes avec l'API Qiita + Python
Comment obtenir le nombre de chiffres en Python
Obtenir la taille (nombre d'éléments) de Union Find en Python
Obtenez le nombre d'abonnés Youtube
Obtenez le nombre d'éléments spécifiques dans la liste python
[Python] Récupère le code de caractère du fichier
Obtenez le nombre de lecteurs d'articles sur Mendeley en Python
Comment générer le nombre de vues, de likes et de stocks d'articles publiés sur Qiita au format CSV (créé avec "Python + Qiita API v2")
Récupérer le contenu de git diff depuis python
Sortie du nombre de cœurs de processeur en Python
[Python] Obtenir / modifier l'étiquette d'échelle de la figure
[Python] Obtenez les principaux sujets de Yahoo News
Récupérer l'appelant d'une fonction en Python
Calculez le nombre total de combinaisons avec python
[Python] Obtenez la dernière date de mise à jour du site Web
[Python] Get the day (anglais et japonais)
Obtenez la date de mise à jour du fichier de mémorandum Python.
le zen de Python
[Python] Un programme qui compte le nombre de vallées
[Python] Obtenez le chemin d'accès officiel du fichier de raccourci (.lnk)
[Python] Récupérez le texte de la loi à partir de l'API e-GOV law
[python] Récupère la liste des classes définies dans le module
Récupérer le code retour d'un script Python depuis bat
[Python] Obtenir la liste des noms ExifTags de la bibliothèque Pillow
[Python] Affiche toutes les combinaisons d'éléments de la liste
Obtenez l'état de fonctionnement de JR West avec Python
Obtenez l'URL de la destination de la redirection HTTP en Python
10. Compter le nombre de lignes
Vers la retraite de Python2
[Python] Récupérez le mois précédent
Calculez le nombre de changements
À propos des fonctionnalités de Python
Le pouvoir des pandas: Python
Python --Trouvez le nombre de groupes dans l'expression regex
[Homologie] Comptez le nombre de trous dans les données avec Python
Obtenez le nombre d'occurrences pour chaque élément de la liste
Obtenir toutes les adresses IP des instances du groupe d'autoscaling
Obtenez l'index de chaque élément de la matrice de confusion en Python
Récupérez la source de la page à charger indéfiniment avec python.
L'histoire de Python et l'histoire de NaN
Comptez bien le nombre de caractères thaïlandais et arabes en Python
[Python] La pierre d'achoppement de l'importation
Remarque: obtenez les premier et dernier éléments de Python OrderedDict de manière non destructive
[Python] Réduisons le nombre d'éléments dans le résultat dans le fonctionnement de l'ensemble
Obtenez le chemin du bureau en Python
Existence du point de vue de Python
[Python] Comment obtenir le premier et le dernier jour du mois
Obtenez la météo avec les requêtes Python
Calcul du nombre d'associations de Klamer
Obtenez la météo avec les requêtes Python 2
Obtenez le chemin du script en Python
Comment obtenir la version Python