Nur der Mitwirkende kann die Anzahl der Aufrufe der von Qiita veröffentlichten Artikel für jeden Artikel überprüfen. Also, ** Um die Gesamtzahl der Aufrufe Ihres Beitrags herauszufinden, gehen Sie zu allen Artikeln und berechnen Sie mit einem Taschenrechner OK **!
das ist alles.
Ich hätte es genau vor einem Jahr berechnet.
Es ist jedoch ein Jahr her, seit ich Ingenieur wurde. Eine solche Methode wie eine primitive Person ist nicht erlaubt.
Ich wusste, dass ich es mit der API bekommen konnte, also habe ich es nachgeschlagen.
Viele Artikel sind erschienen, Ich konnte keine Artikel über Gesamtansichten finden.
Zum Schluss wie der Link unten Ich möchte GAS verwenden, um regelmäßig eine automatische Aggregation durchzuführen und die Oleore-Analyse abzuschließen.
[Qiita API] Gefällt mir! Automatisches Zählen von Ansichten ← Erstaunlicher Artikel
20190208 Nachtrag Wenn es genau 100 Artikel sind, wird es ohne Weitergabe außer herauskommen Ich fügte hinzu.
import requests
import json
import math
from msvcrt import getch
USER_ID = 'Ihre Qiita ID'
PER_PAGE = 20
allViews = 0
headers = {"content-type": "application/json",
'Authorization': 'Tragen Sie Ihren Zugangstoken'}
#Senden Sie eine Anfrage und fügen Sie einen JSON ein, der die Gesamtzahl der Beiträge enthält
url = 'https://qiita.com/api/v2/users/' + USER_ID
res = requests.get(url, headers=headers)
json_qiita_info = res.json()
#Ziehen Sie die Anzahl der Beiträge von json heraus
items_count = json_qiita_info['items_count']
#Berechnen Sie die Anzahl der Seiten
page = math.ceil(items_count / PER_PAGE)
print('|Artikelüberschrift|Anzahl der Ansichten|Wie zählen|')
#Holen Sie sich alle veröffentlichten Artikel
for i in range(page):
#Senden Sie eine Anfrage und fügen Sie einen JSON ein, der die Informationen zu jedem Artikel enthält
url = 'https://qiita.com/api/v2/authenticated_user/items' + \
'?page=' + str(i + 1)
res = requests.get(url, headers=headers)
json_qiita_info = res.json()
for j in range(PER_PAGE):
try:
#ID aus json ziehen
item_id = json_qiita_info[j]['id']
#Senden Sie eine Anfrage und fügen Sie einen JSON ein, der die Anzahl der Aufrufe des Artikels mit der angegebenen ID enthält
url = 'https://qiita.com/api/v2/items/' + str(item_id)
res = requests.get(url, headers=headers)
json_view = res.json()
#Ziehen Sie die Anzahl der Ansichten von json heraus
page_view = json_view['page_views_count']
#Hinzufügen und Ersetzen, um die Gesamtzahl der Ansichten zu erstellen
allViews += page_view
#Anzeige in der Reihenfolge von Titel, Anzahl der Likes, Anzahl der Ansichten
print('| ' + json_qiita_info[j]['title'] + ' | ' +
str(json_qiita_info[j]['likes_count']) + ' |' +
str(page_view) + ' |')
except IndexError:
print('Gesamt anzeigen:' + str(allViews))
print('Ausgabe abgeschlossen')
getch()
break
#Wenn es genau 100 Artikel sind, endet es ohne Weitergabe außer
print('Gesamt anzeigen:' + str(allViews))
print('Ausgabe abgeschlossen')
getch()
Der Titel, die Anzahl der Likes und die Anzahl der Aufrufe jedes Artikels werden angezeigt, und schließlich wird die Gesamtzahl der Aufrufe nicht angegeben! ist.
Als ich nachforschte, ** "konnte ich die Informationen des Artikels nur mit einer GET-Anfrage ohne Zugriffstoken erhalten!" ** Weil es Informationen gab, die ** Ich dachte: "Die Anzahl der Ansichten kann nur durch eine GET-Anforderung vervollständigt werden, die kein Zugriffstoken verwendet." **.
Im offiziellen Dokument von "Qiita API v2" (GET / api / v2 / items) ist der Wert im Feld vorhanden Es gab ein "page_views_count", also habe ich es bekommen und fertig. .. .. Ich dachte, aber es hat nicht funktioniert.
Keine wird wie im Bild gezeigt zurückgegeben.
Wenn Sie sorgfältig darüber nachdenken, kann die Anzahl der Aufrufe jedes Artikels nur von der Person bestätigt werden, die den Artikel geschrieben hat. Es war natürlich zu sagen, dass es nicht möglich war, es nur mit einer GET-Anfrage zu erhalten.
So erhalten Sie die richtige Anzahl von Ansichten ** Verwenden Sie den Anforderungshauptteil einschließlich des Zugriffstokens in der GET-Anforderung ** Ich verstand es mit der Erkenntnis, dass es war. (* Die Erkennung dieses Bereichs ist nicht eindeutig. Bitte weisen Sie auf Fehler hin.)
Unten zitiert aus dem offiziellen Dokument von "Qiita API v2"
Parameter Anforderungen an API v2 verwenden fünf Arten von HTTP-Methoden: GET, POST, PUT, PATCH und DELETE. Anforderungen an viele APIs können Parameter enthalten. Wenn Sie jedoch Parameter in eine GET-Anforderung aufnehmen möchten, verwenden Sie eine URI-Abfrage, andernfalls einen Anforderungshauptteil. Es gibt zwei Arten von Parametern, von denen einer willkürlich übergeben wird, z. B. für die Paginierung, und der andere, der wichtig ist, z. B. der Text zum Zeitpunkt der Veröffentlichung. In der API-Dokumentation werden die Parameter beschrieben, die für jede API gesendet werden können.
Bis ich die API verwendet habe, befand ich mich im Status "Was ist Paging?" Ich habe einige Zeit verbracht.
Wie das Wort pung ** Drehen Sie das Buch um und schlagen Sie die Informationen auf dieser Seite nach ** Dies bedeutet, dass das ** Buchflippen ** ... des Prozesses implementiert werden muss.
#Senden Sie eine Anfrage und fügen Sie einen JSON ein, der die Informationen zu jedem Artikel enthält
url = 'https://qiita.com/api/v2/authenticated_user/items' + '?page=' + str(i + 1)
res = requests.get(url, headers=headers)
json_qiita_info = res.json()
Die Teile, die dem Paging entsprechen, werden zum leichteren Verständnis separat angezeigt.
Hier ist '? Page =' + str (i + 1)
.
Es wird lediglich eine Anfrage an die Seite mit dem angegebenen Index gesendet.
Ich habe die meiste Zeit damit verbracht.
Möglicherweise bemerken Sie nicht, dass es ein Leerzeichen mit halber Breite enthält.
Am Ende der Zeichenfolge fehlt ein \
. .. .. Es war unangenehm, einen Fehler zu bekommen.
Da sich die Zeichenfolge außerhalb des Korrekturbereichs der Funktion zum automatischen Einrücken befindet
Ich habe lange gebraucht, um den Fehler zuerst zu bemerken. .. ..
Versuchen Sie, die Qiita-API von Python zu verwenden Eine Liste der Beiträge mit Qiita API v2 abrufen [Python] Eine Liste der Beiträge mit der Qiita-API abrufen + Rückblick auf 2018