背景
中秋的时候,一个朋友给我发了一封邮件,说他在爬链家的时候,发现网页返回的代码都是乱码,让我帮他参谋参谋(中秋加班,真是敬业= =!),其实这个问题我很早就遇到过,之前在爬小说的时候稍微看了一下,不过没当回事,其实这个问题就是对编码的理解不到位导致的。
问题
很普通的一个爬虫代码,代码是这样的:
# ecoding=utf-8import reimport requestsimport sysreload(sys)sys.setdefaultencoding('utf8')url = 'http://VeVB.COm/ershoufang/rs%E6%8B%9B%E5%95%86%E6%9E%9C%E5%B2%AD/'res = requests.get(url)print res.text
目的其实很简单,就是爬一下链家的内容,但是这样执行之后,返回的结果,所有涉及到中文的内容,全部会变成乱码,比如这样
<script type="text/template" id="newAddHouseTpl"> <div class="newAddHouse"> 自从您上次æµè§ˆï¼ˆ<%=time%>)之åŽï¼Œè¯¥æœç´¢æ¡ä»¶ä¸‹æ