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

yipeiwu_com6年前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实现把多维数组展开成DataFrame

如下所示: import numpy as np import pandas as pd ################# 准备数据 ################# a1 =...

urllib2自定义opener详解

urllib2.urlopen()函数不支持验证、cookie或者其它HTTP高级功能。要支持这些功能,必须使用build_opener()函数创建自定义Opener对象。 复制代码 代...

Python批量创建迅雷任务及创建多个文件

其实不是真的创建了批量任务,而是用python创建一个文本文件,每行一个要下载的链接,然后打开迅雷,复制文本文件的内容,迅雷监测到剪切板变化,弹出下载全部链接的对话框~~ 实际情况是这样...

对Python 内建函数和保留字详解

保留字: In [4]: import keyword In [5]: keyword.kwlist Out[5]: ['False', 'None', 'True', '...

Django1.7+python 2.78+pycharm配置mysql数据库

配置好virtualenv 和virtualenvwrapper后,使用pycharm创建新项目。之后要面临的问题就来了,之前一直使用的是sqlite作为开发数据库进行学习,按照之前看教...