License: Attribution-NonCommercial-ShareAlike 4.0 International
本文出自 Suzf Blog。 如未注明,均为 SUZF.NET 原创。
转载请注明:http://suzf.net/post/568
由于网页编码不统一,我们会遇到各式各样的网页编码格式。
那么问题来了,由于编码格式不统一,爬取的中文信息往往是不尽任意的, 那么如何处理它呢?
ENV: Python 2.7.x
如何取得网页的编码,用chardet库最方便(https://pypi.python.org/pypi/chardet/)。
#!/usr/bin/env python
# encoding:utf-8
import chardet
import urllib2
line = "http://suzf.net"
html_old = urllib2.urlopen(line, timeout=30).read()
mychar = chardet.detect(html_old)
coding = mychar['encoding']
print coding
if coding == 'utf-8' or coding == 'UTF-8':
html = html_old
elif coding == 'gbk' or coding == 'GBK':
html = html_old.decode('gbk', 'ignore').encode('utf-8')
elif coding == 'gb2312':
html = html_old.decode('gb2312', 'ignore').encode('utf-8')
print html