You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python 3.6 urllib.request ASCII编码错误:格鲁吉亚字母URL下载图片失败

解决URL含格鲁吉亚字母时的UnicodeEncodeError问题

嘿,这个问题我太熟了!本质是你用的Python库默认用ASCII编码处理URL,但格鲁吉亚字母属于非ASCII字符,直接用肯定会触发编码错误。给你两个实用的解决办法:

方法一:用urllib.parse.quote()手动编码URL

把URL里包含格鲁吉亚字母的部分单独拿出来,用quote()函数转换成符合URL标准的编码格式,再拼接成完整URL。修改后的示例代码如下:

import urllib.request
from urllib.parse import quote

# 拆分URL,分离基础地址和带特殊字符的路径
base_url = "你的网站基础地址,比如https://example.com/"
image_path = "带格鲁吉亚字母的图片路径,比如სურათი.jpg"

# 对路径部分进行URL编码
encoded_path = quote(image_path)
full_url = base_url + encoded_path

# 现在执行下载就不会报错了
urllib.request.urlretrieve(full_url, "本地保存的文件名.jpg")

quote()函数会把格鲁吉亚字母转换成%XX格式的编码,这样服务器就能正确识别,自然不会触发编码错误。

方法二:改用requests库(更省心)

如果你能安装requests库的话,它会自动处理URL中的非ASCII字符编码,根本不用手动操作,代码更简洁:

import requests

url = "包含格鲁吉亚字母的完整图片URL"
response = requests.get(url)

# 保存图片到本地
with open("本地文件名.jpg", "wb") as f:
    f.write(response.content)

只要确保requests库已经安装(没装的话用pip install requests搞定),直接跑这个代码就能正常下载了。

内容的提问来源于stack exchange,提问作者irakli

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:59:25