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

只能抓到一个第二个就异常了。KeyError: 'url'

craw 1 : http://baike.baidu.com/view/21087.htm 

craw 2 : http://baike.baidu.com/view/10812319.htm 

Traceback (most recent call last):

  File "D:\System Files\Documents\EclipseWorkspace\Test\src\Baike_spider\spider_main.py", line 42, in <module>

    obj_spider.craw(root_url)

  File "D:\System Files\Documents\EclipseWorkspace\Test\src\Baike_spider\spider_main.py", line 37, in craw

    self.outputer.ouput_html()

  File "D:\System Files\Documents\EclipseWorkspace\Test\src\Baike_spider\html_outputer.py", line 27, in ouput_html

    fout.write("<td>%s</td>" % data['url'])

KeyError: 'url'

#coding:utf-8




class HtmlOutputer(object):
    
    def __init__(self):
        self.datas=[]
    
    def collect_data(self,data):
        if data is None:
            return
        self.datas.append(data)
        

    
    def ouput_html(self):
        fout=open('output.html','w')
        
        fout.write("<html>")
        fout.write("<body>")
        fout.write("<table>")
        
        for data in self.datas:
            fout.write("<tr>")
            fout.write("<td>%s</td>" % data['url'])
            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()


正在回答

1 回答

网页中有的不是/view/这种类型的,网页会随时更改,所以要换

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

举报

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

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

进入课程

只能抓到一个第二个就异常了。KeyError: 'url'

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