为了账号安全,请及时绑定邮箱和手机立即绑定

anaconda python2 编码问题

class HtmlOutputer(object):
    def __init__(self):
        self.datas=[]

    def collect_data(self,data):
        if data is None:
            return
        self.datas.append(data)
       
    def output_html(self):
        fout=open('output.html','w')
       
        fout.write('<html>')
        fout.write('<body>')
        fout.write('<table>')
       
        # ascii
        for data in self.datas:
            fout.write('<tr>')
            fout.write('<td>%s</td>' %data['url'].encode('utf-8'))
            fout.write('<td>%s</td>' %data['title'].encode('utf-8'))
            fout.write('<td>%s</td>' %data['summary'].encode('utf-8'))          
            fout.write('</tr>')
       
        fout.write('</table>')
        fout.write('</body>')
        fout.write('</html>')
        fout.close()

在爬虫课程里,这个输出器,无论我加了encode或者decode,都会出现ascii编码错误,我用的是anaconda中的spyder python2.7 编译的,也在网上找了很多方法,包括那个reload(sys) 都不行,你们有谁能解决这个问题吗

正在回答

1 回答

# Python 3.7 example
class HtmlOutput(object):
    def __init__(self):
        self.store = []
    def save(self, data):
        if data is None:
            return
        # data: {url, title, summary}
        self.store.append(data)
    def output(self):
        document = open('./output.html', 'w')
        document.write('<html>')
        document.write('<head><meta charset=utf-8><title>Spider Baike</title></head>')
        document.write('<style>a{color: #000; text-decoration: none}</style>')
        document.write('<body>')
        for data in self.store:
            document.write('<h1><a href="%s">%s</a></h1>' % (data['url'], data['title']))
        document.write('<p>%s</p>' % data['summary'])
        document.write('</body>')
        document.write('</html>')
        document.close()
        print ('Spider is over, look at output.html')


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Python开发简单爬虫
  • 参与学习       227670    人
  • 解答问题       1219    个

本教程带您解开python爬虫这门神奇技术的面纱

进入课程

anaconda python2 编码问题

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信