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

环境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 链接中有中文的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

(0)

相关推荐

  • 解决python3 urllib中urlopen报错的问题

    前言 最近更新了Python版本,准备写个爬虫,意外的发现urllib库中属性不存在urlopen,于是各种google,然后总结一下给出解决方案 问题的出现 AttributeError: 'module' object has no attribute 'urlopen' 问题的解决途径 我们先来看下官方文档的解释: a new urllib package was created. It consists of code from urllib, urllib2, urlparse, an

  • 解决python3爬虫无法显示中文的问题

    有时候使用python从网站上爬数据的时候,如果数据里包含中文,有时候显示的却是如下所示...\xe4\xba\xba\xef\xbc\x8c\xe6...类似与国际化 解决方法: import urllib.request import sys weburl="..." webhead=... req=urllib.request.Request(url=weburl,headers=webhead) response=urllib.request.urlopen(req) cont

  • Python 爬虫之超链接 url中含有中文出错及解决办法

    Python 爬虫之超链接 url中含有中文出错及解决办法 python3.5 爬虫错误: UnicodeEncodeError: 'ascii' codec can't encode characters 这个错误是由于超链接中含有中文引起的,超链接默认是用ascii编码的,所以不能直接出现中文,若要出现中文, 解决方法如下: import urllib from urllib.request import urlopen link="http://list.jd.com/list.html?

  • python3处理含有中文的url方法

    如下所示: from urllib.parse import quote import string url = r'http://www.xxxx.com/name=中文' url = quote(url, safe = string.printable) # safe表示可以忽略的字符 print(url) 运行结果如下: 以上这篇python3处理含有中文的url方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们. 您可能感兴趣的文章: 解决python3 网

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

    环境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

  • 解决python3 json数据包含中文的读写问题

    python3 默认的是UTF-8格式,但在在用dump写入的时候仍然要注意:如下 import json data1 = { "TestId": "testcase001", "Method": "post", "Title": "登录测试", "Desc": "登录基准测试", "Url": "http://xxx

  • 解决python3中cv2读取中文路径的问题

    如下所示: python3: img_path =  ' ' im = cv2.imdecode(np.fromfile(img_path,dtype = np.uint8),-1) save_path =  ' ' cv2.imencode('.jpg',im)[1].tofile(save_path) python2.7: img_path = ' ' im = cv2.imread(img_path.decode('utf-8')) 以上这篇解决python3中cv2读取中文路径的问题就是

  • 解决python3 网络请求路径包含中文的问题

    在爬一个网站的时候,端点包含中文浏览器是可以自动解决这个转换的,在代码中就需要处理一下了. 请求过程的异常如下: self._output(request.encode('ascii')) UnicodeEncodeError: 'ascii' codec can't encode characters in position 10-11: ordinal not in range(128) 解决如下: import urllib.parse reqStr = '你好' encodeStr =

  • 解决python3 requests headers参数不能有中文的问题

    1 需求,heeaders 参数需要拼接中文参数param 解决如下 url = 'https://....search?keyword=' + param + '&templateId=&page=1&pageSize=10' headers = { "Accept": "application/json, text/javascript, */*; q=0.01", "Accept-Encoding": "g

  • 解决python爬虫中有中文的url问题

    如果URL中存在中文,而你却不对它做任何处理,他不会达到你所想的那样,因此我们需要将中文部分进行处理,要用到urllib.parse模块中的quote将中文转化成URL所需的编码,url中的中文要单独处理,不能中英文全部合在一起处理(因为一部分的特殊字符也会被处理掉). import urllib.parse word='龙' word=urllib.parse.quote(word) url='https://baike.baidu.com/search/word?word=%s'%word

  • 解决python3中的requests解析中文页面出现乱码问题

    第一部分 关于requests库 (1) requests是一个很实用的Python HTTP客户端库,编写爬虫和测试服务器响应数据时经常会用到. (2) 其中的Request对象在访问服务器后会返回一个Response对象,这个对象将返回的Http响应字节码保存到content属性中. (3) 但是如果你访问另一个属性text时,会返回一个unicode对象,乱码问题就会常常发成在这里. (4) 因为Response对象会通过另一个属性encoding来将字节码编码成unicode,而这个en

  • 解决Python3用PIL的ImageFont输出中文乱码的问题

    今天在用python3+ImageFont输出中文时,结果显示乱码 # coding:utf-8 from PIL import Image, ImageDraw, ImageFont image= Image.new('RGB', (559, 320),(255,255,255)) draw = ImageDraw.Draw(image) # draw.text() font = ImageFont.truetype("arial", 40, encoding="unic&

随机推荐