|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
Python FAQ 048 urllib 访问网址报错 UnicodeEncodeError
问题
为什么下面的代码会报错 UnicodeEncodeError: 'ascii' codec can't encode characters in position 10-14: ordinal not in range(128)?
- import urllib.request
- response = urllib.request.urlopen("https://baike.baidu.com/item/灶门祢豆子/22390246?fr=aladdin")
- html = response.read()
- html = html.decode("utf-8")
- print(html)
复制代码
解答
urlopen() 中 URL 不能含有中文,用 urllib.parse.quote() 将中文部分转化一下即可:
- import urllib.request
- from urllib.parse import quote
- response = urllib.request.urlopen(f"https://baike.baidu.com/item/{quote('灶门祢豆子')}/22390246?fr=aladdin")
- html = response.read()
- html = html.decode("utf-8")
- print(html)
复制代码 |
|