FROM: http://my.oschina.net/012345678/blog/122355

 

相信用python的人一定在抓取网页时,被编码问题弄晕过一阵

前几天写了一个测试网页的小脚本,并查找是否包含指定的信息。

在html = urllib2.open(url).read()  时,打印到控制台始终出现乱码。

一般的解决办法就是html.decode('utf-8').encode('gb2312'),不过这个即使用了,也没能解决我的问题

这里有两个问题,第一个你要知道网页的编码格式是utf-8     第二你得确定你的系统是gb2312的,能不能主动获取网页的编码格式,并主动获取系统编码格式,像这样

网页编码 = 获取网页编码

系统编码 = 获取系统编码

html.decode(网页编码).encode(系统编码)  即使我不知道网页编码,系统编码,只要双方能转 ,就行

网页编码 = re.complier('正则获取meta里的编码格式')

系统编码 =  sys.getfilesystemencoding()  ########关键的关键

html.decode(网页编码).encode(系统编码)   现在打印,一切正常了。我才不管系统什么编码,只要你能转。

相关文章:

  • 2022-12-23
  • 2021-11-03
  • 2021-12-25
  • 2021-05-08
  • 2021-05-14
  • 2021-12-14
  • 2021-12-22
猜你喜欢
  • 2021-11-09
  • 2022-12-23
  • 2021-12-04
  • 2021-05-22
  • 2022-12-23
  • 2021-12-25
  • 2021-11-01
相关资源
相似解决方案