亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

Chinaunix

標(biāo)題: 已解決:beautifulsoup抓取中文內(nèi)容亂碼的問題 [打印本頁]

作者: lnzfm    時(shí)間: 2013-06-04 11:22
標(biāo)題: 已解決:beautifulsoup抓取中文內(nèi)容亂碼的問題
本帖最后由 lnzfm 于 2013-06-04 13:43 編輯

網(wǎng)上很多資料說soup設(shè)置gb18030編碼可以解決亂碼問題,可是我的代碼仍然出中萬能現(xiàn)亂碼,誰能幫我分析下原因


# -*- coding: utf-8 -*-
import urllib2
import sys
from BeautifulSoup import BeautifulSoup
req = urllib2.Request("http://www.aizhan.com/siteall/www.ip138.com/")
f = urllib2.urlopen(req)
#content = f.read().decode('UTF-8').encode('GBK')  //網(wǎng)頁抓取內(nèi)容,顯示中文正常
content = f.read()
soup = BeautifulSoup(content,fromEncoding="gb18030") //使用gb18030編碼問題仍沒解決
for gg in soup.findAll('div',{'class':'box_17'})[1]:
          print  gg



作者: wenhq    時(shí)間: 2013-06-04 12:06
BeautifulSoup(content.decode('gb2312','ignore'))  試試這個(gè)
作者: lnzfm    時(shí)間: 2013-06-04 12:09
回復(fù) 1# lnzfm

抱歉,還是不行

   
作者: lnzfm    時(shí)間: 2013-06-04 13:42
我明白了
表面上看起來從BeautifulSoup解析后得到的soup,打印出來是亂碼,但是實(shí)際上其本身已經(jīng)是,正確的(從原始的GB2312編碼)解析(為Unicode)后的了。
之所以亂碼,那是因?yàn)椋蛴oup時(shí),調(diào)用的是__str__,其默認(rèn)是UTF-8,所以輸出到GBK的cmd中,才顯示是亂碼。

這個(gè)帖子里分析的很詳細(xì),可供參考
http://www.crifan.com/beautifuls ... t_print_messy_code/

多謝大家




歡迎光臨 Chinaunix (http://72891.cn/) Powered by Discuz! X3.2