关于用python的requests模块返回编码乱码问题

liwan123 2016-03-14 11:45:33
import requests
import lxml
from lxml import etree
url = 'http://www.chinacoalchem.com/news.asp?id=60719'
loginurl = "http://www.chinacoalchem.com/loginchk.asp?action=pw"
postdata = {
'userid':'liwan123',
'password':'lishichao1',
'UserLogin':'True',
'Submit.x':'25',
'Submit.y':'14'
}
res1 = requests.post(loginurl, data=postdata)
res2 = requests.get(url, cookies=res1.cookies)
res2.encoding = 'gb2312'
res2 = res2.text

xmlcontent = etree.HTML(res2)
links = xmlcontent.xpath('//@href')
for link in links:
print link
代码如上,运行结果如下:
Traceback (most recent call last):
File "D:/python-work/demo.py", line 23, in <module>
print link
UnicodeEncodeError: 'gbk' codec can't encode character u'\xb2' in position 34: illegal multibyte sequence
images/css.css
Events/2016MeOH.pdf
index.asp
more.asp?lm=政策规划
more.asp?lm=公司动态
more.asp?lm=工程项目
more.asp?lm=技术进展
more.asp?lm=市场行情
more.asp?lm=甲醇
more.asp?lm=%C3%BA%D6%C6%CC%EC%C8%BB%C6%F8
more.asp?lm=煤制油
more.asp?lm=MTO/MTP
more.asp?lm=其他煤化工
yuekan.asp
http://www.shenhuagroup.com.cn
http://www.ykjt.cn/
http://www.ctdmto.com/
http://meeting.qianzhan.com/
http://www.wison.com
http://www.famens.com

Process finished with exit code 1
不知道该怎么该好,怎么设置都有问题,
...全文
1175 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
屎克螂 2016-04-07
  • 打赏
  • 举报
回复
前面都不要转 在最后面转 print link的时候 print link.decode('gbk')
竹聿Simon 2016-03-16
  • 打赏
  • 举报
回复
好像涉及到中英文字符混合的问题,程序出错的那个地方正好是一个含有中文的网址: u'http://www.blogcn.com/zlzj/tougao.\xb2\xa9\xce\xc4\xd4\xad\xb4\xb4.html' 中文部分是“博文原创”

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧