[Python] Mit der API von Qiita erhalten Sie Benutzer- und Artikelinformationen

Zweck dieses Artikels

Irgendwie wollte ich die Artikeldaten von Qiita analysieren, also habe ich die API berührt. Sie müssen sich diesmal nicht authentifizieren, da Sie nur die Artikelinformationen abrufen müssen.

Ich habe zwei große Dinge ausprobiert.

    1. [Benutzerinformationsliste abrufen](# 1 Benutzerinformationsliste abrufen)
  1. [Abrufen einer Artikelliste für einen bestimmten Benutzer](# 2 Abrufen einer Artikelliste für einen bestimmten Benutzer)

Ich werde in der Reihenfolge erklären.

Vorbereitung

Laden Sie die Bibliothek.

import numpy as np
import pandas as pd
import requests
import json
from pandas.io.json import json_normalize

Das `` `json_normalize``` unten ist ein praktisches Element, das die von der API zurückgegebenen Daten im json-Format in das Pandas-Datenrahmenformat formatiert.

1. 1. Benutzerinformationsliste abrufen

Für das Beispiel Qiita API v2-Dokumentation

GET /api/v2/users?page=1&per_page=Es heißt 20 usw..


 Mit anderen Worten, Sie können Informationen erhalten, indem Sie auf die folgende URL zugreifen.
https://qiita.com/api/v2/users?page=1&per_page=20

 Hier ist `` `per_page``` die Anzahl der Benutzer, die gleichzeitig abgerufen werden sollen, und` `` page``` ist die Anzahl. Wenn Sie beispielsweise 1000 Benutzerinformationen wünschen, `` `per_page` Sie müssen mindestens 10 Anfragen mit = 100 (Obergrenze) `` `senden.


 Im Code sieht es also so aus:

```python
n = 333 #Anzahl der Benutzer, die Sie erhalten möchten

per_page = 100
df = pd.DataFrame()

for page in range(1, int(n/per_page)+2): #Bekommen eine Menge
    base_url = "https://qiita.com/api/v2/users?page={0}&per_page={1}"
    url = base_url.format(page, per_page)

    response = requests.get(url)
    res = response.json()

    tmp_df = json_normalize(res)
    df = pd.concat([df, tmp_df])

df.reset_index(drop=True, inplace=True)

df = df.iloc[:n,:] #Löschen Sie so viel wie möglich

Das Ergebnis ist ein Datenrahmen wie folgt: image.png

2. Holen Sie sich eine Liste der Artikel für einen bestimmten Benutzer

Für das Beispiel Qiita API v2-Dokumentation

GET /api/v2/items?page=1&per_page=20&query=qiita+user%Es heißt 3 Ayaotti etc..


 Mit anderen Worten, Sie können Informationen erhalten, indem Sie auf die folgende URL zugreifen.
https://qiita.com/api/v2/items?page=1&per_page=20&query=qiita+user%3Ayaotti

 Jetzt wurde eine neue `` `Abfrage``` angezeigt, die Ihnen dieselben Suchoptionen bietet wie bei der Suche in einem Browser, wobei` ``: `` `` `` `in der URL steht. Beachten Sie, dass es in der Notation% 3A``` codiert ist.

 ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/540956/1b6f986d-87c0-8552-0c53-fedf902b54cc.png)

 Auf diese Weise können Sie die Informationen eines bestimmten Benutzers mit dem Gefühl "Abfrage = Benutzer% 3A" abrufen.
 Der Code sieht also so aus:

```python
n = 125 #Anzahl der Artikel, die Sie erhalten möchten

user = "yaotti"
per_page = 100
df = pd.DataFrame()

for page in range(1, int(n/per_page)+2): #Bekommen eine Menge
    base_url = "https://qiita.com/api/v2/items?page={0}&per_page={1}&query=user%3A{2}"
    url = base_url.format(page, per_page, user)

    response = requests.get(url)
    res = response.json()

    tmp_df = json_normalize(res)
    df = pd.concat([df, tmp_df])

df.reset_index(drop=True, inplace=True)

df = df.iloc[:n,:] #Löschen Sie so viel wie möglich

Das Ergebnis ist ein Datenrahmen wie folgt: image.png

das ist alles!

Referenz

Qiita API v2-Dokumentation Wörterbuchliste mit json_normalize von Pandas in DataFrame konvertieren

Recommended Posts

[Python] Mit der API von Qiita erhalten Sie Benutzer- und Artikelinformationen
[Python] Python-Paketinformationen mit der PyPI-API abrufen
Holen Sie sich den Betreff und den Text von Google Mail mit der Python- und Google Mail-API
Informationen erhalten Sie mit zabbix api
Holen Sie sich Artikelbesuche und Likes mit Qiita API + Python
Holen Sie sich Alembic-Informationen mit Python
Holen Sie sich Bewertungen mit Python Googlemap API
Quine Post mit Qiita API (Python)
Holen Sie sich Qiita-Trends mit Python-Scraping
Holen Sie sich Wetterinformationen mit Python & Scraping
[Python x Zapier] Erhalten Sie Warninformationen und benachrichtigen Sie mit Slack
Sammeln von Informationen von Twitter mit Python (Twitter API)
Abrufen von Eigenschaftsinformationen durch Scraping mit Python
Crawlen mit Python und Twitter API 2-Implementierung der Benutzersuchfunktion
Erhalten Sie Informationen zur virtuellen Währung mit der API coin
Ich habe versucht, den Authentifizierungscode der Qiita-API mit Python abzurufen.
Ich habe versucht, die Filminformationen der TMDb-API mit Python abzurufen
Holen Sie sich Aktienkursdaten mit Quandl API [Python]
Holen Sie sich den Git-Zweignamen und den Tag-Namen mit Python
So erhalten Sie Artikeldaten mithilfe der Qiita-API
Holen Sie sich CPU-Informationen von Raspberry Pi mit Python
Letzte Ranglistenerstellung mit der Qiita-API mit Python
Versuchen Sie, die ChatWork-API und die Qiita-API in Python zu verwenden
Python-Skript zum Abrufen von Notizinformationen mit REAPER
[google-oauth] Benutzerinformationen abrufen
[Python] Holen Sie sich den Trend von Qiita
[Python] Holen Sie sich Produktinformationen wie ASIN und JAN mit Amazon PA-API Version 5.0
Holen Sie sich eine Liste der Artikel, die von Benutzern mit Python 3 Qiita API v2 veröffentlicht wurden
Mit Python + Tweepy können Sie Bilder und Videos der Medienzeitleiste abrufen
Holen Sie sich mit Python + Zeep einen Zeitplan von der Garoon SOAP API
Erhalten Sie Kommentare auf Youtube Live mit [Python] und [Pytchat]!
Rufen Sie die aktuellen Standortinformationen und den Benutzeragenten in Python ab
Erhalten Sie Kommentare und Abonnenten mit der YouTube-Daten-API
Erhalten Sie E-Mails von Google Mail und beschriften Sie sie mit Python3
Holen Sie sich den Ländercode mit Python
Programmieren mit Python und Tkinter
Ver- und Entschlüsselung mit Python
Verwenden Sie die Trello-API mit Python
Python und Hardware-Verwenden von RS232C mit Python-
Holen Sie sich Youtube-Daten mit Python
Holen Sie sich die Thread-ID mit Python
Beginnen Sie mit Python! ~ ② Grammatik ~
Rufen Sie die API mit python3 auf.
Python mit Pyenv und Venv
Verwenden Sie die Unterschall-API mit Python3
[Python] Quotient und Überschuss erhalten
Holen Sie sich Lager mit Python
Holen Sie sich das Home-Verzeichnis mit Python
Holen Sie sich Tastaturereignis mit Python
Qiita API Oauth mit Django
Funktioniert mit Python und R.
Holen Sie sich ein Ranking mit Rakuten API
YOLP Holen Sie sich eine XML-Datei mit Karteninformationen mit der Yahoo! Static Map API
Einfache Verwendung der Nifty Cloud API mit Botocore und Python
Versuchen Sie, mit Python schnell und einfach auf die Twitter-API zuzugreifen
Vergleichen Sie HTTP GET / POST mit cURL (Befehl) und Python (Programmierung).
Anfänger erhalten Qiita-Tag-Informationen und visualisieren und betrachten das TOP10.
Ich habe versucht, Follow Management mit Twitter API und Python (einfach)