松岗网站设计,网站赏析,成都软件开发培训机构,asp.net网站开发视频参考#xff1a;[Python3填坑之旅]一urllib模块网页爬虫访问中文网址出错
目录
一、报错内容
二、报错截图
三、解决方法
四、实例代码
五、运行截图
六、其他UnicodeEncodeError: ascii codec 问题 一、报错内容
UnicodeEncodeError: ascii codec cant encode charac…参考[Python3填坑之旅]一·urllib模块网页爬虫访问中文网址出错
目录
一、报错内容
二、报错截图
三、解决方法
四、实例代码
五、运行截图
六、其他UnicodeEncodeError: ascii codec 问题 一、报错内容
UnicodeEncodeError: ascii codec cant encode characters in position 22-23: ordinal not in range(128)
二、报错截图 三、解决方法
字母、数字和 _.-~ 等字符一定不会被转码。 在默认情况下此函数只对 URL 的路径部分进行转码。 可选的 safe 形参额外指定不应被转码的 ASCII 字符其默认值为 /。--Python官方文档
1、urllib解析含中文的url时单独编码中文部分最后拼接
# -*- coding: UTF-8 -*-
from urllib import request, error, parsecity 徐州
city parse.quote(city) # urllib处理中文需要编码
url https://***.***.com/api?city{}.format(city) 2、直接对url整体中的中文进行编码默认不对/字母编码但会对url中的:?空格等编码
url https://***.***.com/api?city徐州
url parse.quote(url, safe/:?) # urllib处理中文需要编码
四、实例代码
1、单独处理中文编码
# -*- coding: UTF-8 -*-
from urllib import request, error, parsecity 徐州
city parse.quote(city) # urllib处理中文需要编码
url https://***.***.com/api?city{}.format(city)response request.urlopen(url)
print(response.read().decode(utf-8), response.getheader(Server)) 2、处理整体url
# -*- coding: UTF-8 -*-
from urllib import request, error, parseurl https://***.***.com/api?city徐州
url parse.quote(url, safe/:?) # urllib处理中文需要编码response request.urlopen(url)
print(response.read().decode(utf-8), response.getheader(Server))
五、运行截图 六、其他UnicodeEncodeError: ascii codec 问题
参考
https://blog.csdn.net/u011331731/article/details/89400702
https://wenku.csdn.net/answer/5txy7qyur8