美文网首页
Python网站爬虫编写中字符编码的解决方案分享

Python网站爬虫编写中字符编码的解决方案分享

作者: 想看看世界喵 | 来源:发表于2016-03-26 16:09 被阅读0次

问题介绍

问题1:常用网站的编码格式有哪些?

答:utf-8,GB2312,GBK等

国内常用网站的字符编码

问题2:这些字符集有什么区别?

答:请见我的另外一篇文章

问题3:在抓取不同编码网站时,有什么比较好的解决思路吗?

答:先解析网站编码格式,然后使用编码转换,一般转成utf-8


工具介绍

名称:chardet模块

下载地址:chardet 2.3.0 : Python Package Index

功能:编码识别


实际应用

1.解析少量信息

import chardet
import urllib
TestCodes = urllib.urlopen('http://www.baidu.com/').read()
print chardet.detect(TestCodes)

运行结果:
 {'confidence': 0.99, 'encoding': 'GB2312'}

2.大量信息解析(只解析一部分)

import urllib
from chardet.universaldetector import UniversalDetector
usock = urllib.urlopen('http://www.baidu.com/')
#创建一个检测对象
detector = UniversalDetector()
for line in usock.readlines():
 #分块进行测试,直到达到阈值
    detector.feed(line)
    if detector.done: break
#关闭检测对象
detector.close()
usock.close()
#输出检测结果
print detector.result

运行结果:
{'confidence': 0.99, 'encoding': 'GB2312'}

小结

1.在处理字符编码类型未知的时候,我们可以通过chardet模块获得字符编码类型,然后对其进行重新编码

2.当数据量过大时我们只需要解析一小部分,不必全部解析.

相关文章

  • Python网站爬虫编写中字符编码的解决方案分享

    问题介绍 问题1:常用网站的编码格式有哪些? 答:utf-8,GB2312,GBK等 问题2:这些字符集有什么区别...

  • python 高级方法

    Python的字符串类型 字符编码方法 查看Python中的字符串编码名称,查看系统的编码 源文件字符集编码声明:...

  • Python中的字符串编码

    Python中的字符串编码 定义字符串 Python 中存在两种编码方式的字符串:ASCII 和 Unicode。...

  • Python Webscraping

    Python作为强大的脚本语言,非常适合编写网络爬虫。在实际开始编写爬虫获取某一个网站数据的时候,应当对某一个网站...

  • PyCharm、Eclipse中使用中文注释

    在Eclipse中和Pycharm中编写python程序,如果使用中文注释,会发生报错,究其原因是字符编码的问题。...

  • PhantomJS在爬虫中应用

    编写爬虫时,如果单纯是静态网站,Nodejs的cheerio,requests以及Python的urlib、url...

  • python连接oracle教程

    用python连接Oracle是总是乱码,最后发现时oracle客户端的字符编码设置不对。 编写的python脚本...

  • 好文推荐

    python GIL全局解释器锁的理解 爬虫实战项目合集 python的字符编码问题 计算机的ip地址与MAC地址...

  • 2018-11-08

    今天,我们深入学习了字符串。学习了字符串编码: python中的字符采用的是Unicode编码 a.什么是编码 ...

  • 字符串

    1.字符的编码 Python中的字符采用的是Unicode编码 1.什么是编码 :数字和字符是一一对应的,其中字符...

网友评论

      本文标题:Python网站爬虫编写中字符编码的解决方案分享

      本文链接:https://www.haomeiwen.com/subject/qsmdlttx.html