##2的教程在3的環境下運行,改掉一些后好不容易能完成最后運行還是出現問題,真心求教#coding:utf8from baike_spider import url_manager, html_outputer, html_downloader,\? ? html_parserprint ('http://baike.baidu.com/view/21087.htm')class SpiderMain(object):? ? def __int__(self):? ? ? ? self.urls=url_manager.ulrmanager()#初始化對象? ? ? ? self.dowload=html_downloader.htmldownloader()? ? ? ? self.parser=html_parser.htmlpaser()? ? ? ? self.outputer=html_outputer.htmloutputer()? ? ? ??? ? ? ??? ??? ? def craw(self, url):? ? ? ? count = 1? ? ? ? self.urls.add_new_url(url)? ? ? ? while self.urls.has_new_urls():? ? ? ? ? ? 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.paser(new_url,html_cont)? ? ? ? ? ? ? ? self.urls.add_new_urls(new_urls)#新的url補充進去? ? ? ? ? ? ? ? self.outputer.collect_data(new_data)? ? ? ? ? ??? ? ? ? ? ? ? ? if count ==100:? ? ? ? ? ? ? ? ? ? break? ? ? ? ? ? ? ??? ? ? ? ? ? ? ? count =count+1? ? ? ? ? ? except:? ? ? ? ? ? ? ?print ('erro ?1')? ? ? ? ? ??? ? ? ? self.outputer.output_html()? ??? ??#設置待爬取目標urlif __name__=="__main__":? ? url = 'http://baike.baidu.com/view/21087.htm'? ? obj_spider = SpiderMain()? ? obj_spider.craw(url)
添加回答
舉報
0/150
提交
取消