• 手机版

    扫码体验手机版

  • 微信公众号

    扫码关注公众号

国内首家协议开发

软芯音视解码保护平台

在线
客服

发布
需求

在线
聊天

天盟
APP

天盟APP下载

关注
微信

微信扫一扫访问
顶部

请问下有3.6版本的么 我这边报错不能运行

from baike_spider import html_downloader
from baike_spider import html_outputer
from baike_spider import html_parser
from baike_spider import url_manager






class SpiderMain:


#     这里定义SpiderMain类的一些属性。这样就可以创建对象后直接调用。     
    def __init__(self):
        self.urls = url_manager.UrlManager()
        self.downloader = html_downloader.HtmlDownloader()
        self.parser = html_parser.HtmlParser()
        self.outputer = html_outputer.HtmlOutputer()


#       正式的craw爬取主函数。


    def craw(self, root_url):
        count = 1
        self.urls.add_new_url(root_url)
#         把根url添加到new_url列表,这应该没什么问题。
               
        for x in range(1000):
#             1000随意改。不过单线程比较慢。之后会讲解异步爬取和多线程的。
            try:
                new_url = self.urls.get_new_url() # 添加单个url
                print('craw%d : %s' %(count, new_url))
                html_cont = self.downloader.download(new_url)




                new_urls,new_data = self.parser.parser(new_url, html_cont)
                self.urls.add_new_urls(new_urls)  # 添加批量url
                self.outputer.collect_data(new_data)
               
            except AttributeError:
                print('here is a bug, jump')




            count = count+1


self.outputer.output_data()    # 就这里报错




# 主程序的入口。 只要是看到 if __name__ =="__mian__": , 就是整个程序从这里开始的地方。在这里调用各种方法。
if __name__=="__main__":
   
    # root_url = "http://baike.baidu.com/item/Python"  "
    root_url = "http://baike.baidu.com/item/Python"
    obj_spider = SpiderMain()
    obj_spider.craw(root_url)

免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。

版权声明:作者保留权利,不代表天盟立场。

使用道具 举报

发新帖

发布任务需求已有1031167位用户正在使用天盟网服务

发布分类: *
任务预算: *
需求内容: *
手机号码: *
任务商家报价为
  • 预算价 :
  • 成交价 :
  • 完工期 :
  • 质保期 :

* 最终任务项目以服务商报价、双方协商为准!