python中requests.get网址时总是提示请求错误?

在使用requests.get(url,headers=header)时同时提示如下错误:
'latin-1' codec can't encode character '\u2026' in position 512: ordinal not in ?
不知道是什么原因?
已经在返回数据中做了字符编码设定,但是还是报相同的错误
代码如下:

response=requests.get(url, headers=headers)
response.encoding='utf-8'
 html=lxml.etree.HTML(response.text)

headers的内容如下:

        headers = {
            'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:149.0) Gecko/20100101 Firefox/149.0',
            'Accept':'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
            'Accept-Language':'zh-CN,zh;q=0.9,zh-TW;q=0.8,zh-HK;q=0.7,en-US;q=0.6,en;q=0.5',
            'Connection':'keep-alive',
            'Host':'items.xxx.com',
            'Priority':'u=0, i',
            'Referer':'https://www.xxx.com/',
            'Sec-Fetch-Dest':'document',
            'Sec-Fetch-Mode':'navigate',
            'Sec-Fetch-Site':'same-site',
            'Sec-Fetch-User':'?1',
            'TE':'trailers',
            'Upgrade-Insecure-Requests':'1',
            'cookie':'...‘
        }

不能识别"..."应该怎么处理

阅读 573
1 个回答

最后一行引号错了。

'cookie':'...‘

前面是 ' (标准单引号),后面是 ‘ (中文弯引号),Python 认不出来,字符串没闭合,后面解析乱了才报编码错误。
改成:

'cookie': '...'

两个都用英文单引号 ' 。
这种错误一般是复制粘贴浏览器开发者工具里的内容,或者输入法没切换导致的。手动敲一遍最保险。