小弟刚接触python,每次处理中文时都需要百度google大半天,一头雾水。
下面是一小段爬虫:
# -*- encoding:"utf-8"-*-
import urllib2
import sys
from bs4 import BeautifulSoup
reload(sys)
sys.setdefaultencoding('utf8')
headers = {'User-Agent':'Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6'}
req=urllib2.Request(url='http://bj.58.com/',headers=headers)
page = urllib2.urlopen(req)
html=page.read().decode('utf-8').encode('gbk')
soup = BeautifulSoup(html)
title = soup.find_all('h2')
# links = soup.find_all('a')
print title[10].get_text()
出现报错:
UnicodeEncodeError: 'gbk' codec can't encode character u'xbb' in position 13167: illegal multibyte sequence
小弟不是很明白遇到中文时,需要如何处理才能尽量不报错,是要写一大段代码判断还是一两行就能解决问题,比如:
reload(sys)
sys.setdefaultencoding('utf8')
这两行,我看有网友说是个好方法,但我感觉不是很有用。不知道是不是方法不对。
请各位大神不吝指教,小弟虚心学习