python抓取网页时中文乱码
rockjava
2008-10-29
#coding = utf-8 import urllib2 for line in urllib2.urlopen("http://192.168.117.19:8088/"): # if 'meta' in line and 'Pragma' in line: print line 这样打印出来的页面源文件中文显示都是正常 但是我debug跟踪的时候确发现每次“line”中有中文的时候都是乱码 如: <link rel="top" href="./index.php?sid=9c2d955f4ec14d4b7ee93aae8296683e" title="������������̳��ҳ" /> 怎么解决这个问题。 我想在if语句中用中文来过滤一些内容。可是不行啊。 |
|
lyhapple
2008-10-29
哥们.我用你的程序在我的机器上抓163的首页.打印出来的中文字都正常啊... |
|
rockjava
2008-10-30
lyhapple 写道 哥们.我用你的程序在我的机器上抓163的首页.打印出来的中文字都正常啊... 对打印出来都是正常的,我是dubug跟踪的时候每次循环的时候line里面要是有中文就是乱码,但是打印出来是正常。我想用if过滤中文,所以每次if都不成立。 |
|
jackywjj
2008-10-30
我也碰到过,2个办法
1。你自己写code,因为要转一下编码的,你看看网页啥编码,你要转一下,特别是linux的系统,默认都是utf的 2。用python库,推荐beautifulsoup,直接分析html页面,抓取内容巨爽,初始化beautiful类的时候fromendocing=“gbk”就ok了,相关的你自己搜一下 推荐方法2,因为我就是这么用的,哈哈 |
|
hqman
2008-10-30
Beautiful Soup 美丽的汤?
|
|
rockjava
2008-10-30
jackywjj 写道 我也碰到过,2个办法
1。你自己写code,因为要转一下编码的,你看看网页啥编码,你要转一下,特别是linux的系统,默认都是utf的 2。用python库,推荐beautifulsoup,直接分析html页面,抓取内容巨爽,初始化beautiful类的时候fromendocing=“gbk”就ok了,相关的你自己搜一下 推荐方法2,因为我就是这么用的,哈哈 自己写code?什么意思。我的网页编码是GB2312。刚刚接触python还不熟悉。 |
|
frenchmay
2008-10-30
有可能不是中文乱码而是韩文的乱码
如果操作系统没有安装韩文解码可能会出现这种情况 |
|
jackywjj
2008-11-03
Python里面的unicode,你查一下手册吧,那本python核心编程里面写的满详细的
|
|
youzi560
2008-11-04
http://192.168.117.19:8088/
这个网站是啥编码的?! |
|
rockjava
2008-11-05
youzi560 写道 http://192.168.117.19:8088/
这个网站是啥编码的?! GB2312 |