关于python爬虫爬取数据出现乱码问题解决

1、必须首先查看网页源代码里的head头部说明标签(以飞卢小说网,起点小说网为例) 飞卢小说: 起点小说: 很明显,起点小说的utf-8,gbk和iso都是可以走寻常道路的,都可以参照以下代码:

代码1

try:
        r = requests.get(url)
        r.status_code
        r.encoding = r.apparent_encoding
        return r.text
    except Exception as e:
        print("获取源代码失败 %s" % e)
        return ""
    return ""

代码2

try:
        r = requests.get(url)
        r.status_code
        r.encoding = ‘utf-8’
        return r.text
    except Exception as e:
        print("获取源代码失败 %s" % e)
        return ""
    return ""

而类如飞卢小说的gb2312等少见的字符编码现如今已经逐渐被废除了,不能直接采用这种方法转换为utf-8,只能以gbk为过渡,进而转化为utf-8 代码如下:

try:
        r = requests.get(url)
        r.status_code
        r.encoding = gbk
        return r.text
    except Exception as e:
        print("获取源代码失败 %s" % e)
        return ""
    return ""

2、可能遇到某种防爬虫机制影响(略)

经验分享 程序员 微信小程序 职场和发展