python抓取中文网页内容是[u'\xbe\xaf\xcc\xe8\xba\xab\xba\xae

42 views
Skip to first unread message

likers

unread,
Mar 29, 2011, 1:01:57 AM3/29/11
to pyth...@googlegroups.com
想抓取一些博客保存到本地,但是保存内容是:

[u'\xbe\xaf\xcc\xe8\xba\xab\xba\xae\xc4\xa3\xca\xbd'][u'\xa1\xbe\x....

晕,不知道怎么转编码。。。

试过unicode的encode,出错
试过eval的,也报错
也试过http://pyfun.com/web/201009/1573_7.html里面的fromEncoding,还是整不好,晕啊
 
源码是:
# -*- coding:gb2312 -*- 
from BeautifulSoup import BeautifulSoup
import urllib2
import re

page = urllib2.urlopen("http://www.caogen.com/index_comment.aspx?ID=5676")  
soup = BeautifulSoup(page, fromEncoding="gb2312")  
output=open('s.txt','w')
for i in soup.findAll(id=re.compile("Index__ctl")):
    cont = str((i.contents))
    print cont
    output.write(cont)

 

机械唯物主义 : linjunhalida

unread,
Mar 29, 2011, 1:07:17 AM3/29/11
to pyth...@googlegroups.com
In [9]: s = '\xbe\xaf\xcc\xe8\xba\xab\xba\xae\xc4\xa3\xca\xbd'

In [12]: s.decode('gbk')
Out[12]: u'\u8b66\u60d5\u97e9\u5bd2\u6a21\u5f0f'

In [13]: print s.decode('gbk')
警惕韩寒模式

2011/3/29 likers <liweiji...@gmail.com>:

机械唯物主义 : linjunhalida

unread,
Mar 29, 2011, 1:10:42 AM3/29/11
to pyth...@googlegroups.com
s = u'\xbe\xaf\xcc\xe8\xba\xab\xba\xae\xc4\xa3\xca\xbd'

In [28]: print "".join([chr(ord(i)) for i in s]).decode('gbk')
警惕韩寒模式

2011/3/29 机械唯物主义 : linjunhalida <linjun...@gmail.com>:

阿暖

unread,
Mar 29, 2011, 1:19:40 AM3/29/11
to pyth...@googlegroups.com
是把list保存成字符串么? 最好转码以后再保存

> --
> 来自: python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
> 发言: pyth...@googlegroups.com
> 退订: python-cn+...@googlegroups.com (向此发空信即退!)
> 详情: http://code.google.com/p/cpyug/wiki/PythonCn
> 严正: 理解列表! 智慧提问! http://wiki.woodpecker.org.cn/moin/AskForHelp
> 强烈: 建议使用技巧: 如何有效地报告Bug
> http://www.chiark.greenend.org.uk/%7Esgtatham/bugs-cn.html
>

Leo Jay

unread,
Mar 29, 2011, 1:22:34 AM3/29/11
to pyth...@googlegroups.com, 机械唯物主义 : linjunhalida
2011/3/29 机械唯物主义 : linjunhalida <linjun...@gmail.com>

>
> s = u'\xbe\xaf\xcc\xe8\xba\xab\xba\xae\xc4\xa3\xca\xbd'
>
> In [28]: print "".join([chr(ord(i)) for i in s]).decode('gbk')
> 警惕韩寒模式
>

>>> print s.encode('raw_unicode_escape').decode('gbk')
警惕韩寒模式
>>>

--
Best Regards,
Leo Jay

小明同学

unread,
Mar 29, 2011, 1:58:29 AM3/29/11
to python-cn`CPyUG`华蟒用户组(中文Python技术邮件列表)
试试这个
>>s = u'\xbe\xaf\xcc\xe8\xba\xab\xba\xae\xc4\xa3\xca\xbd'
>>s.encode("raw_unicode_escape")
警惕韩寒模式

纪凤伟

unread,
Mar 29, 2011, 10:19:35 AM3/29/11
to pyth...@googlegroups.com

Hi,
 可以试下opener.open(url).read()
我在采集时也遇到过,用builder_opener后就没有这种情况了


--
Thanks.


Reply all
Reply to author
Forward
0 new messages