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个)
那么如何解决这个问题,谢谢。
发布于 2016-07-20 04:06:11
你是深圳人吗?
实际上,中文字符串需要在url中是"urlencode“。
您似乎使用了python3,我不熟悉python3,让我使用python2来解释它,您可以做的是替换我在示例中使用的api。
#coding:utf-8
import urllib
key = urllib.quote("魅族 魅蓝Note")
google_search(key)发布于 2016-07-20 04:32:03
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 pagehttps://stackoverflow.com/questions/38471909
复制相似问题