Python Youtube API: UnicodeEncodeError: 'charmap' codec can't encode character '\u279c' in position 7741: character maps to <undefined>

时间:2020-12-18 17:51:49

标签: python youtube youtube-api

我正在尝试在 Python 中使用 Youtube API,这是我的代码:

import googleapiclient.errors
import googleapiclient.discovery
import os
from googleapiclient.discovery import build

api = '*******************************************'


def main():
    api_service_name = "youtube"
    api_version = "v3"
    client_secrets_file = "YOUR_CLIENT_SECRET_FILE.json"

    youtube = googleapiclient.discovery.build(
        api_service_name, api_version, developerKey=api)

    request = youtube.search().list(
        part="snippet",
        maxResults=25,
        q="star wars"
    )
    response = request.execute()

    print(response)


if __name__ == "__main__":
    main()

这应该会从查询“星球大战”中发送对搜索结果的请求,但我却收到了标题中的错误。使用“冲浪”的默认搜索查询似乎有效,但其他任何方法都不起作用。如果重要的话,我使用的是 Windows 和 Atom 文本编辑器。

1 个答案:

答案 0 :(得分:0)

我想为有类似问题的任何人添加这个问题的答案。最简单的解决方案是(如 stvar 的回答):

<块引用>

改为尝试 print(json.dumps(response, ensure_ascii = True))。 (当然,也有 import json。)

Windows 终端无法显示某些字符,确保 ASCII 修复了此问题。