首页 > 技术文章 > Requests爬取网页的编码问题

zhangjun0204 2019-09-17 17:54 原文

Requests爬取网页的编码问题

import requests
from requests import exceptions
    def getHtml():
        try:
            r=requests.get('http://www.zuihaodaxue.com/zuihaodaxuepaiming2017.html')
            r.raise_for_status()
            r.encoding=r.apparent_encoding
            return r.text
        except requests.RequestException as e:
            return ''
其中 r.encoding 根据响应头中的 charset 判断网站编码,如果没有设置则默认返回 iso-8859-1 编码,而r.apparent_encoding
则通过网页内容来判断其编码。令r.encoding=r.apparent_encoding就不会出现乱码问题。

推荐阅读