[PYTHON] Beseitigen Sie verstümmelte japanische Zeichen in JSON-Daten, die von der API erfasst wurden.

Probleme, die aufgetreten sind

Als ich übte, Daten mit der YouTube-Daten-API zu erfassen, wurden japanische Zeichen bei der Ausgabe der erfassten Daten verstümmelt.

search.py


if __name__ == "__main__":
    try:
        response = youtube_search(
            q='offiziell', 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))

Ergebnis.


########################
##Lassen Sie irrelevante Teile weg
########################
        "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"

Wie löst man

Die Standardoption "sure_ascii" in json.dumps () ist True. Wenn sie ASCII-Zeichen enthält, wird sie automatisch maskiert. Setzen Sie dies auf False, um zu verhindern, dass es maskiert wird.

search.py


if __name__ == "__main__":
    try:
        response = youtube_search(
            q='offiziell', 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))

Ergebnis.


########################
##Lassen Sie irrelevante Teile weg
########################
        "title": "Kamen Rider (Neu) (Sky Rider) Folge 14[offiziell]",
        "description": "Kamen Rider (neu) Folge 14 "Haejigokujin Kamen Rider Close Call" Hiroshi trifft sich mit seinem Senior Genjiro Tani im Fujikyu Highland. In diesem Keller befindet sich jedoch das Neo-Schocker-Monster Haejigoku...",
        "thumbnails": {
          "default": {
            "url": "https://i.ytimg.com/vi/yTFJ-6NnUNY/default.jpg ",

Recommended Posts

Beseitigen Sie verstümmelte japanische Zeichen in JSON-Daten, die von der API erfasst wurden.
Beseitigen Sie verstümmelte japanische Zeichen in Matplotlib-Diagrammen mit Cloud Pak for Data Notebook
Das japanische Zeichen verstümmelte die Eliminierung von Matplotlib und NetworkX der Python-Bibliothek
Exportieren Sie die von der Twitter Streaming API erfassten Inhalte im JSON-Format
Korrigieren Sie verstümmelte Zeichen beim Umgang mit Japanisch in Anfragen
So entfernen Sie verstümmelte Zeichen im Matplotlib-Ausgabebild
Von Django erfasste Daten wurden weitergegeben
Japanische JSON-Datei anzeigen
Löse verstümmelte japanische Zeichen in matplotlib von Jupyter Notebook auf Docker
Exportieren Sie DB-Daten im JSON-Format
Speichern Sie die vom Browser erfassten Sprachdaten im WAV-Format auf dem Server
Verstümmelte Zeichen beim Hochladen von CSV in Google Cloud Storage → Gelöst von json
Erkennen Sie japanische Zeichen anhand von Bildern mithilfe der Cloud Vision-API von Google mit Python
Wie man mit verstümmelten Charakteren in json von Django REST Framework umgeht
Dateneingabe / -ausgabe in Python (CSV, JSON)
[Anmerkung] Japanische Schriftzeichen sind mit Atom-Runner verstümmelt
Python: Lesen von JSON-Daten von der Web-API
Holen Sie sich Google Fit API-Daten in Python
Holen Sie sich Youtube-Daten in Python mithilfe der Youtube-Daten-API
Windows Qt5.4 Python3.4 QProcess Japanische verstümmelte Zeichen
Behandelt japanische UTF-8-Zeichen in MySQL db of Python.