由于初步学习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")
当你再次打开文本时会惊奇的发现不会乱码了