Python Youtube API: UnicodeEncodeError: 'charmap' codec can't encode character '\u279c' in position 7741: character maps to <undefined>
Python Youtube API: UnicodeEncodeError: 'charmap' codec can't encode character '\u279c' in position 7741: character maps to <undefined>
我正在尝试在 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 文本编辑器。
我想为遇到类似问题的任何人添加此问题的答案。最简单的解决方案是(如 stvar 回答的那样):
Try print(json.dumps(response, ensure_ascii = True))
instead. (Of course, have import json
too.)
Windows 终端无法显示某些字符,确保 ASCII 解决了这个问题。
我正在尝试在 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 文本编辑器。
我想为遇到类似问题的任何人添加此问题的答案。最简单的解决方案是(如 stvar 回答的那样):
Try
print(json.dumps(response, ensure_ascii = True))
instead. (Of course, haveimport json
too.)
Windows 终端无法显示某些字符,确保 ASCII 解决了这个问题。