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(系统编码)   现在打印,一切正常了。我才不管系统什么编码,只要你能转。

python 处理抓取网页乱码问题一招鲜的更多相关文章

  1. python 处理抓取网页乱码

    python 处理抓取网页乱码问题一招鲜   相信用python的人一定在抓取网页时,被编码问题弄晕过一阵 前几天写了一个测试网页的小脚本,并查找是否包含指定的信息. 在html = urllib2. ...

  2. python 解决抓取网页中的中文显示乱码问题

    关于爬虫乱码有很多各式各样的问题,这里不仅是中文乱码,编码转换.还包括一些如日文.韩文 .俄文.藏文之类的乱码处理,因为解决方式是一致的,故在此统一说明. 网络爬虫出现乱码的原因 源网页编码和爬取下来 ...

  3. python分布式抓取网页

    呵呵,前两节好像和python没多大关系..这节完全是贴代码, 这是我第一次写python,很多地方比较乱,主要就看看逻辑流程吧. 对于编码格式确实搞得我头大..取下来页面不知道是什么编码,所以先找c ...

  4. Python 抓取网页乱码问题 以及EXCEL乱码

    import codecs f1=codecs.open('items.json', 'r', encoding='utf-8').read().decode("unicode_escape ...

  5. python多线程抓取网页信息

    #!/usr/env  python #-*- coding: utf-8  -*- import urllib  import urllib2  import random  import requ ...

  6. file_get_contents 抓取网页乱码。

    iconv string iconv ( string $in_charset , string $out_charset , string $str ) mb_convert_encoding st ...

  7. python 简单抓取网页并写入excel实例

    # -*- coding: UTF-8 -*- import requests from bs4 import BeautifulSoup import xlwt import time #获取第一页 ...

  8. (转)用python实现抓取网页、模拟登陆

    涉及一系列内容,部分已在前面转载,仍转自crifan: http://www.crifan.com/how_to_use_some_language_python_csharp_to_implemen ...

  9. Python之抓取网页元素

    import urllib.request from bs4 import BeautifulSoup url = "http://www.wal-martchina.com/walmart ...

随机推荐

  1. [bzoj] 1176 Mokia || CDQ分治

    原题 给出W×W的矩阵(S没有用,题目有误),给出无限次操作,每次操作的含义为: 输入1:你需要把(x,y)(第x行第y列)的格子权值增加a 输入2:你需要求出以左下角为(x1,y1),右上角为(x2 ...

  2. BZOJ1196 [HNOI2006]公路修建问题 【二分 + Kruskal】

    题目 OI island是一个非常漂亮的岛屿,自开发以来,到这儿来旅游的人很多.然而,由于该岛屿刚刚开发不久,所以那里的交通情况还是很糟糕.所以,OIER Association组织成立了,旨在建立O ...

  3. 用HTML5绘制的一个星空特效图

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 飞思卡尔MC9S12系列单片机地址影射以及分页问题

    对于用MCU的人来说,不一定要明白HCS12(x) memory map的机制和联系.因为如果没有系统地学习操作系统和编译原理之类的课程,确实有些难度.并且,对于DG128 XS128这样的MCU,默 ...

  5. 2016-2017 ACM-ICPC, Egyptian Collegiate Programming Contest(solved 8/11)

    这套题似乎是省选前做的,一直没来写题解---补上补上>_< 链接:http://codeforces.com/gym/101147 一样先放上惨不忍睹的成绩好了--- Problem A ...

  6. python之短路计算-布尔类型

    Python中布尔类型 我们已经了解了Python支持布尔类型的数据,布尔类型只有True和False两种值,但是布尔类型有以下几种运算: 与运算:只有两个布尔值都为 True 时,计算结果才为 Tr ...

  7. 洛谷 P1463 [SDOI2005]反素数ant && codevs2912反素数

    题目描述 对于任何正整数x,其约数的个数记作g(x).例如g(1)=1.g(6)=4. 如果某个正整数x满足:g(x)>g(i) 0<i<x,则称x为反质数.例如,整数1,2,4,6 ...

  8. Java中Collections的frequency方法

    注:调用此方法时需要根据自己的须由复写Objects的equals方法 创建复写了equals方法的对象类 public class Student { private String name; pr ...

  9. gdb 记录临时变量

    gdb ./pgm set logging file log set logging on ... set logging off gdb ./pgm | tee -a log ... file a. ...

  10. Sqlite插入、修改、删除表里面的数据

    转载 2014年05月10日 10:38:21 标签: sqlite3 / 数据库 8688 转自:http://www.cnblogs.com/myqiao/archive/2011/07/13/2 ...