[PYTHON] Éliminez les caractères japonais brouillés dans les données JSON acquises par l'API.

Problèmes survenus

Lorsque je m'entraînais à acquérir des données avec l'API de données youtube, lorsque je sortais les données acquises, les caractères japonais étaient déformés.

search.py


if __name__ == "__main__":
    try:
        response = youtube_search(
            q='officiel', part='snippet', type='video', max_count=1, order='date')

        CURRENT_DIR = os.getcwd()
        with codecs.open(CURRENT_DIR + '/' + 'data.json', 'w', encoding='utf-8') as f:
            f.write(json.dumps(response, indent=2))

        print(json.dumps(response, indent=2))

    except HttpError as e:
        print("An HTTP error %d occurred: \n%s" % (e.resp.status, e.content))

résultat.


########################
##Omettre les pièces non pertinentes
########################
        "title": "\u4eee\u9762\u30e9\u30a4\u30c0\u30fc\uff08\u65b0\uff09\uff08\u30b9\u30ab\u30a4\u30e9\u30a4\u30c0\u30fc\uff09\u3000\u7b2c14\u8a71[\u516c\u5f0f]",
        "description": "\u4eee\u9762\u30e9\u30a4\u30c0\u30fc\uff08\u65b0\uff09 \u7b2c14\u8a71\u300c\u30cf\u30a8\u30b8\u30b4\u30af\u30b8\u30f3 \u4eee\u9762\u30e9\u30a4\u30c0\u30fc\u5371\u6a5f\u4e00\u9aea\u300d \u6d0b\u306f\u5bcc\u58eb\u6025\u30cf\u30a4\u30e9\u30f3\u30c9\u3067\u3001\u5148\u8f29\u30fb\u8c37\u6e90\u6b21\u90ce\u3068\u518d\u4f1a\u3002\u3060\u304c\u3001\u3053\u306e\u5730\u4e0b\u306b\u306f\u3001\u30cd\u30aa\u30b7\u30e7\u30c3\u30ab\u30fc\u306e\u602a\u4eba\u30cf\u30a8\u30b8\u30b4\u30af ...",
        "thumbnails": {
          "default": {
            "url": "https://i.ytimg.com/vi/yTFJ-6NnUNY/default.jpg ",
            "width": 120,
            "height": 90
          },
          "medium": {
            "url"

Comment résoudre

L'option "ensure_ascii" de json.dumps () est True par défaut, c'est-à-dire que le paramètre pour exécuter le processus d'échappement automatique lorsqu'il contient des caractères ASCII est le paramètre par défaut. Définissez ceci sur False pour éviter qu'il ne soit échappé.

search.py


if __name__ == "__main__":
    try:
        response = youtube_search(
            q='officiel', part='snippet', type='video', max_count=1, order='date')

        CURRENT_DIR = os.getcwd()
        with codecs.open(CURRENT_DIR + '/' + 'data.json', 'w', encoding='utf-8') as f:
            f.write(json.dumps(response, indent=2, ensure_ascii=False))

        print(json.dumps(response, indent=2, ensure_ascii=False))

    except HttpError as e:
        print("An HTTP error %d occurred: \n%s" % (e.resp.status, e.content))

résultat.


########################
##Omettre les pièces non pertinentes
########################
        "title": "Kamen Rider (Nouveau) (Sky Rider) Épisode 14[officiel]",
        "description": "Kamen Rider (Nouveau) Episode 14 "Haejigokujin Kamen Rider Close Call" Hiroshi retrouve son aîné, Genjiro Tani, à Fujikyu Highland. Cependant, dans ce sous-sol, le monstre néo-choc Haejigoku...",
        "thumbnails": {
          "default": {
            "url": "https://i.ytimg.com/vi/yTFJ-6NnUNY/default.jpg ",

Recommended Posts

Éliminez les caractères japonais brouillés dans les données JSON acquises par l'API.
Éliminez les caractères japonais brouillés dans les graphiques matplotlib avec Cloud Pak for Data Notebook
Élimination des caractères japonais brouillés de matplotlib et NetworkX de la bibliothèque Python
Exporter le contenu acquis par Twitter Streaming API au format JSON
Correction des caractères déformés lors du traitement du japonais dans les requêtes
Comment éliminer les caractères déformés dans l'image de sortie matplotlib
Données acquises par Django reliées
Afficher le fichier JSON japonais
Résolvez les caractères japonais brouillés dans matplotlib de Jupyter Notebook sur Docker
Exporter les données DB au format json
Sauvegardez les données vocales acquises par le navigateur au format wav sur le serveur
Caractères déformés lors du téléchargement de CSV sur Google Cloud Storage → Résolu par json
Détectez les caractères japonais à partir d'images à l'aide de l'API Cloud Vision de Google avec Python
Comment gérer les caractères déformés dans json de Django REST Framework
Entrée / sortie de données en Python (CSV, JSON)
[Note] Les caractères japonais sont déformés avec atom-runner
Python: lecture de données JSON à partir de l'API Web
Obtenez les données de l'API Google Fit en Python
Obtenez des données Youtube en Python à l'aide de l'API Youtube Data
Windows Qt5.4 Python3.4 QProcess caractères japonais brouillés
Gère les caractères japonais UTF-8 dans la base de données MySQL de Python.