BeautifulSoup中解决乱码问题

由于初步学习Python爬取网页文本内容,在存储文本时出现乱码问题

我的代码如下:

import urllib

from bs4 import BeautifulSoup

import sys

reload(sys)

sys.setdefaultencoding('utf-8')


fp = file("test.txt","wb+")

page=urllib.urlopen('http://tech.qq.com/a/20150518/031741.htm').read()

soup = BeautifulSoup(page)

div = soup.find_all('div',id="Cnt-Main-Article-QQ")

pp = div[0].find_all('p')

for p in pp:

fp.write(p.get_text())


print "Write Over!!!"

fp.flush()

fp.close()


但打开文本时内容为乱码,上网搜索了好多资料,找到一篇文章,非常简洁的而又完美的解决乱码问题

方法如下:

soup = BeautifulSoup(page)改成soup=BeautifulSoup(page,from_encoding"gb18030")


当你再次打开文本时会惊奇的发现不会乱码了

上一篇:python 爬虫爬取腾讯新闻科技类的企鹅智酷系列(1)


下一篇:Python模拟登陆 —— 征服验证码 2 B站