码迷,mamicode.com
首页 > 其他好文 > 详细

解决requests获取源代码时中文乱码问题

时间:2016-05-13 10:07:27      阅读:196      评论:0      收藏:0      [点我收藏+]

标签:

用requests获取源代码时,如果是中文网页,就可能会出现乱码,下面我以中关村的网站为例:

import requests

url = http://desk.zol.com.cn/meinv/
r = requests.get(url)
print r.text

执行上面这个脚本你会看到中文部分都变成乱码。

print r.encoding

通过上面的代码你会发现从requests获取到的编码是ISO-8859-1,而该网页的编码是gb2312,所以打印出来的编码就都变成乱码了,那么该如何解决这个问题呢?

其实只需将编码设为gb2312即可,完整的代码如下:

import requests

url = http://desk.zol.com.cn/meinv/
r = requests.get(url)
r.encoding = gb2312
print r.text

有些童鞋喜欢用content来获取源代码,如果直接将上面代码中的text改为content的话,你会发现获取到的源代码依旧是乱码,所以上面的代码不适用于content方式获取源代码。

通过content获取源代码的童鞋可以看这里:

import requests
from lxml import etree

url = http://desk.zol.com.cn/meinv/
r = requests.get(url)
code = r.content.decode(gb2312)
print code

 

解决requests获取源代码时中文乱码问题

标签:

原文地址:http://www.cnblogs.com/yestreenstars/p/5485927.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!