解决python3 urllib 链接中有中文的问题

yipeiwu_com5年前Python基础

环境python3,开发平台pycharm,使用urllib时,当url中存在中文时会出现以下错误:

UnicodeEncodeError: 'ascii' codec can't encode characters in position 69-78: ordinal not in range(128)

解决方法

单独处理url中的中文如:

import urllib
s=‘中文'
s=urllib.parse.quote(s)
url='some english url character %s'%(s)
result=urllib.request.urlopen(url)
print(result)

此时返回结果,但是依然为乱码,需要对去结果解码

print(result.decode('utf-8'))

至此,问题解决!!!

原因后续再解释。

以上这篇解决python3 urllib 链接中有中文的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python实现socket非阻塞通讯功能示例

本文实例讲述了Python实现socket非阻塞通讯功能。分享给大家供大家参考,具体如下: 非阻塞需要多线程编程 服务端 方式1: 使用threading库实现多线程 基本方法和单进程基...

Python中easy_install 和 pip 的安装及使用

easy_install 和 pip的介绍: easy_install和pip都是用来下载安装Python一个公共资源库PyPI 的相关资源包的,pip是easy_install的...

python中的文件打开与关闭操作命令介绍

1.文件打开与关闭 在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件 open(文件名,访问模式)。 f = open('test.txt', 'w...

Python 多线程搜索txt文件的内容,并写入搜到的内容(Lock)方法

废话不多说,直接上代码吧! import threading import os class Find(threading.Thread): #搜索数据的线程类 def __i...

Python urllib模块urlopen()与urlretrieve()详解

1.urlopen()方法urllib.urlopen(url[, data[, proxies]]) :创建一个表示远程url的类文件对象,然后像本地文件一样操作这个类文件对象来获取远...