网页中flash数据抓取(探测网页编码的形式和用法:探测编码形式)
优采云 发布时间: 2022-04-14 01:13网页中flash数据抓取(探测网页编码的形式和用法:探测编码形式)
爬取网页时,经常会发现网页内容可以正常显示,但是用python抓取后,打印或存入数据库时出现乱码。这是因为网页中的编码形式不是python默认的utf8编码。这时候如果能知道网页中的具体编码,经过相应的转换就可以得到正常的字符编码。
在检测网页编码时,我们可以使用chardet。具体用法如下:
安装
github的地址是:
https://github.com/chardet/chardet
安装方法:
pip install chardet
探针编码表
抓取数据后,直接使用chardet
import urllib
rawdata = urllib.urlopen('http://tech.163.com/special/00097UHL/tech_datalist.js').read()
import chardet
print chardet.detect(rawdata)
结果如下:
{'confidence': 0.99, 'language': 'Chinese', 'encoding': 'GB2312'}
转码
通过chardet检测,网页的字符编码为GB2312编码,通过unicode转为utf8编码:
str_body = unicode(rawdata, "gb2312").encode("utf8")
将字符编码转换为utf8可以避免很多不必要的麻烦。