[PYTHON] Ermitteln Sie die Anzahl der PVs von Qiita-Artikeln, die Sie mit API veröffentlicht haben

TL;DR

Über die Anzahl der PV des gebuchten Eintrags

Wenn Sie sich den Artikel ansehen, den Sie gepostet haben, wird die Anzahl der PV angezeigt.

image.png

Es scheint, dass Sie nur die Artikel sehen können, die Sie gepostet haben.

Davon abgesehen fragte ich mich, ob ich das irgendwie auf einmal bekommen könnte.

Qiita API v2

Es scheint, dass Sie die Qiita-API verwenden können, um dies zu erreichen.

Qiita API v2-Dokumentation

Wenn Sie die API für "post" verwenden, können Sie sie anscheinend als page_views_count (views) abrufen.

Post

Als ich es nachgeschlagen habe, gab es einige Artikel, die das Gleiche taten, aber ich würde dies gerne selbst zu Studienzwecken schreiben.

Das Thema ist Python.

Die folgenden zwei Qiita-APIs werden verwendet.

Zugriffstoken erhalten

Holen Sie sich zunächst ein Zugriffstoken.

Stellen Sie ein Zugriffstoken über "Einstellungen" → "Anwendungen" aus.

image.png

Der Bereich sollte diesmal "read_qiita" haben.

image.png

Erinnern Sie sich an den Wert des Tokens, den Sie hier erhalten haben.

image.png

Sie können das erstellte Zugriffstoken als Liste überprüfen.

image.png

Umgebung

Diese Umgebung ist hier.

$ python3 -V
Python 3.6.8

Für HTTP-Anfragen verwenden wir Anfragen.

$ pip3 install requests

Hier ist die Version der Anfragen, die ich verwendet habe.

$ pip3 freeze
...
requests==2.22.0
...

Quellcode

Erstellen Sie nun den Quellcode, um die Anzahl der PV zu ermitteln.

Ich habe es so gemacht.

get_qiita_item_pv.py

from time import sleep
import requests

access_token = "[Zugriffstoken erstellt]"

item_list_base_url = "https://qiita.com/api/v2/authenticated_user/items"
headers = { "Authorization": f"Bearer {access_token}" }

page = 1
per_page = 100

sleep_time = 0.1

page_views = []

while True:
    item_list_url = f"{item_list_base_url}?page={page}&per_page={per_page}"

    items = requests.get(item_list_url, headers = headers)
    items_body = items.json()

    if not len(items_body):
        break

    for entry in items_body:
        item_id = entry["id"]

        item_url = f"https://qiita.com/api/v2/items/{item_id}"

        item = requests.get(item_url, headers = headers)
        item_body = item.json()

        title = item_body["title"]
        url = item_body["url"]
        tags = item_body["tags"]
        created_at = item_body["created_at"]
        page_views_count = item_body["page_views_count"]

        page_views.append({
            "title": title,
            "url": url,
            "tags": [ tag["name"] for tag in tags ],
            "created_at": created_at,
            "page_views_count": page_views_count
        })

        sleep(sleep_time)

    page += 1

    sleep(sleep_time)

page_views.sort(key = lambda e: e["page_views_count"], reverse = True)

for page_view in page_views:
    print(f"""page_view: {page_view['page_views_count']}
  title: {page_view['title']}
  url: {page_view['url']}
  tags: {page_view['tags']}
  created_at: {page_view['created_at']}""")
    print()

Die Anzahl der PVs kann mit der Artikellisten-API nicht ermittelt werden (obwohl beim Betrachten des API-Dokuments eine Atmosphäre zu herrschen scheint ...), und in Wirklichkeit muss die artikelspezifische API aufgerufen werden. Zu diesem Zeitpunkt benötigen Sie Ihre Anmeldeinformationen (im Wesentlichen ein Zugriffstoken).

Lauf

Lassen Sie uns nun dieses Skript in unserem Konto ausführen.

Das Ergebnis ist so.

$ python3 get_qiita_item_pv.py 
page_view: 6154
  title: Ubuntu Linux 18.04 LTS / 18.Ich möchte OpenJDK 11 mit 10 verwenden
  url: https://qiita.com/charon/items/af0f0de2ae9adbc03bfe
  tags: ['Java', 'Linux', 'Ubuntu']
  created_at: 2018-11-19T13:03:18+09:00

page_view: 3846
  title:Ich möchte Docker unter einer Proxy-Umgebung erstellen
  url: https://qiita.com/charon/items/d8365d610343d64d598e
  tags: ['Docker']
  created_at: 2019-01-04T11:29:29+09:00

page_view: 1826
  title:REQ zum ersten Mal mit ZeroMQ (Python)-REP-Muster
  url: https://qiita.com/charon/items/bdbef40fca6fa89edb24
  tags: ['Python', 'ZeroMQ']
  created_at: 2019-04-09T16:32:42+09:00

page_view: 1735
  title:Beenden Sie Apache-Zugriffsprotokolle mit Fluentd und werfen Sie sie in Elasticsearch
  url: https://qiita.com/charon/items/86d12ac7ca2d7cf6c580
  tags: ['Apache', 'Fluentd', 'Elasticsearch', 'Kibana']
  created_at: 2018-12-12T09:09:26+09:00

page_view: 1613
  title:QA-Site mit dem Stack Overflow-Klon Scoold
  url: https://qiita.com/charon/items/cacc2cfac380d8ad46b9
  tags: ['Java', 'AdventCalendar']
  created_at: 2018-12-11T14:34:57+09:00

page_view: 1385
  title:Senden Sie das Protokoll des von Docker Compose gestarteten Containers an Amazon CloudWatch Logs
  url: https://qiita.com/charon/items/7e2328e5abf7340d32b6
  tags: ['Docker', 'CloudWatch-Logs']
  created_at: 2019-05-07T12:49:04+09:00

~ Abkürzung ~

Es könnte interessant sein zu sehen, was Sie in den Artikeln sehen, die Sie von Zeit zu Zeit geschrieben haben. Ich denke.

Recommended Posts

Ermitteln Sie die Anzahl der PVs von Qiita-Artikeln, die Sie mit API veröffentlicht haben
Holen Sie sich Artikelbesuche und Likes mit Qiita API + Python
[Python] Ermittelt die Anzahl der Aufrufe aller veröffentlichten Artikel
Holen Sie sich die Anzahl der Ansichten von Qiita
Holen Sie sich eine Liste der Artikel, die von Benutzern mit Python 3 Qiita API v2 veröffentlicht wurden
[Python] Summiert automatisch die Gesamtzahl der von Qiita mithilfe der API veröffentlichten Artikel
Ich habe versucht, den Authentifizierungscode der Qiita-API mit Python abzurufen.
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 die Anzahl der Ziffern
Holen Sie sich die Anzahl der Youtube-Abonnenten
Nachdem Sie mit Python auf die Qiita-API geklickt haben, um eine Liste mit Artikeln für Anfänger zu erhalten, werden wir die Artikel von God besuchen
Erhalten Sie Parlamentsprotokolle über API
Holen Sie sich Urlaub mit der Google Kalender-API
Zählen Sie die Anzahl der Zeichen mit Echo
Eine Geschichte, die die Gegenwart von Qiita mit Qiita API + Elasticsearch + Kibana visualisiert
Mit ReportingAPI + Cloud-Funktionen können Sie die Anzahl der Besuche auf jeder Seite ermitteln
Ich habe versucht, die Filminformationen der TMDb-API mit Python abzurufen
Bestimmen Sie die Authentizität von veröffentlichten Artikeln durch maschinelles Lernen (Google Prediction API).
Bis Sie die Kaggle-API mit Colab verwenden
Berechnen Sie die Gesamtzahl der Kombinationen mit Python
Ermitteln Sie mithilfe der Twitter-API die Anzahl der Tweets, die sich auf ein bestimmtes Keyword beziehen
So ermitteln Sie die Anzahl der Stellen in Python
[Python] Ruft den Gesetzestext aus der e-GOV-Gesetz-API ab
Berechnen Sie den Gesamtwert mehrerer Spalten mit awk
Holen Sie sich den absoluten Pfad des laufenden Skripts
Sagen Sie die Anzahl der mit COVID-19 infizierten Personen mit Prophet voraus
Ermitteln Sie die Größe (Anzahl der Elemente) von Union Find in Python
Versuchen Sie, den Inhalt von Word mit Golang zu erhalten
Erhalten Sie Kommentare und Abonnenten mit der YouTube-Daten-API
Verwalten Sie die Paketversionsnummer von require.txt mit pip-tools
Holen Sie sich mit Python den Betriebsstatus von JR West
[Python] Mit der API von Qiita erhalten Sie Benutzer- und Artikelinformationen
Ich habe mit Lambda eine App erstellt, die LINE über die Qiita-API über "Likes" informiert.
Holen Sie sich den Kauf- und Verkaufspreis der virtuellen Währung mit der API von Zaif Exchange und erstellen Sie ein Diagramm
Holen Sie sich die ID einer GPU mit geringer Speichernutzung
Holen Sie sich UNIXTIME zu Beginn des heutigen Tages mit einem Befehl
Holen Sie sich die Anzahl der spezifischen Elemente in der Python-Liste
Berühren wir die API der Netatmo Weather Station mit Python. #Python #Netatmo
[Homologie] Zählen Sie mit Python die Anzahl der Löcher in den Daten
Stellen wir uns die Anzahl der mit Matplotlib mit dem Coronavirus infizierten Personen vor
Ermitteln Sie die Anzahl der Vorkommen für jedes Element in der Liste
Rufen Sie den Hostnamen des Host-PCs mit Docker unter Linux ab
Holen Sie sich die Quelle der Seite unbegrenzt mit Python zu laden.
10. Zählen der Anzahl der Zeilen
Informationen erhalten Sie mit zabbix api
Ich habe versucht, die Qiita-API zu berühren
Berechnen Sie die Anzahl der Änderungen
Rufen Sie die API mit python3 auf.
Qiita API Oauth mit Django
Holen Sie sich ein Ranking mit Rakuten API
So entfernen Sie die "Tags müssen ein Array von Hashes sein." Fehler in Qiita API
[Qiita API] [Statistik • Maschinelles Lernen] Ich habe versucht, die bisher veröffentlichten Artikel zusammenzufassen und zu analysieren.
Ich habe versucht, das Ranking des Qiita-Adventskalenders mit Python zu kratzen
So erhalten Sie die ID von Type2Tag NXP NTAG213 mit nfcpy
Wenn Sie eine Liste mit dem Standardargument der Funktion angeben ...
Überlegen Sie im Qiita-Artikel, was Sie mit Python tun können
Die Geschichte der Visualisierung beliebter Qiita-Tags mit Bar Chart Race