关于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、可能遇到某种防爬虫机制影响(略)
