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
Global site tag (gtag.js) - Google Analytics