首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当我使用Chinese.UnicodeEncodeError:'ascii‘编解码器不能在第14-15位编码字符:序数不在范围内(128个)

当我使用Chinese.UnicodeEncodeError:'ascii‘编解码器不能在第14-15位编码字符:序数不在范围内(128个)
EN

Stack Overflow用户
提问于 2016-07-20 03:38:33
回答 2查看 361关注 0票数 0
代码语言:javascript
复制
def google_search(key_word):
    query = "https://www.google.com.hk/search?q=" + key_word +"%20site:detail.zol.com.cn"
    headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}  
    req = urllib.request.Request(query,headers=headers)
    page = urllib.request.urlopen(req)
return page

当我用英语关键字使用这个函数时,它工作得很好。但是,当我使用google_search(key_word=“魅族魅蓝Note”)这样的汉语时,第5行出现了一个错误:

UnicodeEncodeError:'ascii‘编解码器不能在14-15位置编码字符:序数不在范围内(128个)

那么如何解决这个问题,谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-07-20 04:06:11

你是深圳人吗?

实际上,中文字符串需要在url中是"urlencode“。

您似乎使用了python3,我不熟悉python3,让我使用python2来解释它,您可以做的是替换我在示例中使用的api。

代码语言:javascript
复制
#coding:utf-8
import urllib
key = urllib.quote("魅族 魅蓝Note")
google_search(key)
票数 1
EN

Stack Overflow用户

发布于 2016-07-20 04:32:03

代码语言:javascript
复制
import urllib.request
from urllib.parse import quote

def google_search(key_word):
    query = "https://www.google.com.hk/search?q=" + quote(key_word) +"%20site:detail.zol.com.cn"
    headers = {'User-Agent':'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:23.0) Gecko/20100101 Firefox/23.0'}  
    req = urllib.request.Request(query, headers=headers)
    page = urllib.request.urlopen(req)
    return page
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38471909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档