经过各位高手前几天指点,
可以确认 http 服务器的通信过程没有指明编码,
网页内容里虽然指定了 content="text/html; charset=utf-8",但这个不能影响到 requests 判断。。
被 requests 认为是"ISO-8859-1"了
r = requests.get(link)
print(r..encoding) # <- ISO-8859-1
print(r.apparent_encoding) # <- UTF-8-SIG
r.encoding = 'UTF-8-SIG'
print(r.text) # <- 不再报编码错误,能正确输出
retrun r.text # 从函数里把 html 文本送出去
# 函数外
htmlString = reguestGeturl(urllink)
for i in BeautifulSoup(htmlString ,'lxml').findAll('td'):
print(i)
这时候,又有编码错误了。。。
print(i)
UnicodeEncodeError: 'gbk' codec can't encode character '\xa0' in position 282: illegal multibyte sequence
为什么还会有\xa0 呢,处理出来的 string,已经没有\xa0 才对呀
望各位高手指出问题所在,谢谢解答!